오픈소스 프로젝트
-
Conductor Error Report - Join 이후 Task 실행이 안되는 현상오픈소스 프로젝트 2024. 4. 24. 14:03
현상간헐적으로 Join 노드 이후 다음 Task 실행이 안되는 현상이 발생. 1차 시도(Zookeeper -> LocalOnly)Conductor 에서는 분산 환경에서 Lock 선택을 위한 Interface 를 제공합니다.- Lock: LocalOnlyLock, NoopLock, RedisLock, ZookeeperLock- application.properties 으로 타입 조정 가능#disable locking during workflow executionconductor.app.workflow-execution-lock-enabled=trueconductor.workflow-execution-lock.type=local_only 발생 에러 공통점은 Lock 획득 실패한 이후..
-
오픈소스에 커스텀 코드가 들어갈 때 어떻게 관리해야할까?오픈소스 프로젝트 2024. 1. 18. 20:04
소개 업무 중 오픈 소스를 사용 중인데 회사 제품에 맞게 커스텀 구현한 코드들이 들어가있다. 이번 버전 출시가 오래 걸려서 오픈 소스 버전을 업데이트 하지 못해 1년 정도 지났다. 그러다보니 Upstream Repo(Conductor OSS Repository)의 많은 변경이 일어났다. 변경을 반영하려다 보니 Merge Confilct 및 파일이 1200개 가량 변경되는 일이 발생했다. 그래서 기존 OSS Repository main branch와 우리가 사용하는 커스텀 코드가 포함되어져있는 Repo의 동기화는 어떻게 하면 좋을지 고민했다. 그러던 와중 시니어 한 분이 OSS 관리하는 방법을 제안해주셔서 방법을 정리 및 공유해보려한다. 과정 아래의 그림은 전체적인 과정이다. 1. 3.13.3 버전의 OS..
-
42Helper 오픈소스 프로젝트 (1) - 시간 중복 로직 추가오픈소스 프로젝트/42Helper 2021. 10. 1. 17:19
첫 번째 오픈소스 프로젝트는 42Helper입니다. 42Helper의 자세한 설명은 링크에서 확인해볼 수 있습니다. 제가 프로젝트에 기여한 첫 번째 부분인 시간 중복 로직에 관하여 설명드리겠습니다. 처음엔 이 부분을 Service로직으로 넣을지 아니면 Jpql로 직접 짤 것인지에 관해서 고민하였습니다. 두 가지 방법은 각각의 장점을 가지고 있습니다. Jpql로 작성하는 경우에는 재활용성은 조금 떨어지고 쿼리문이 복잡하지만 서버 메모리의 부하를 줄여줄 수 있습니다. User와 Team 테이블은 서로 참조하고 있지 않습니다. 왜냐하면 다대다 관계가 될 수 있기 때문에 중간에 Member를 중간에 둬서 일대다, 다대일 관계를 형성하였습니다. 그래서 Jpql로 짜면 쿼리문을 최소로 줄이고 한 번에 데이터들을 가..