jetstream-api 0.12.0__tar.gz → 0.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jetstream_api-0.12.0/jetstream_api.egg-info → jetstream_api-0.13.0}/PKG-INFO +22 -1
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/README.md +21 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/__init__.py +1 -1
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/admin.py +6936 -6898
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/connectivity.py +1885 -1869
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/producer.py +2718 -2703
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/qmgr.py +2328 -2331
- {jetstream_api-0.12.0 → jetstream_api-0.13.0/jetstream_api.egg-info}/PKG-INFO +22 -1
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/pyproject.toml +1 -1
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/LICENSE.txt +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/_codec.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/admintopic.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/common.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/exception.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/msg.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/partitioner.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/pattern.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/properties.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/py.typed +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/topic.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/ilink/util.py +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/jetstream_api.egg-info/SOURCES.txt +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/jetstream_api.egg-info/dependency_links.txt +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/jetstream_api.egg-info/requires.txt +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/jetstream_api.egg-info/top_level.txt +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/setup.cfg +0 -0
- {jetstream_api-0.12.0 → jetstream_api-0.13.0}/tests/test_example.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jetstream-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.0
|
|
4
4
|
Summary: Python client API for iLink M.O.M. (Message Oriented Middleware)
|
|
5
5
|
Author: snowjeans
|
|
6
6
|
License: Boost Software License - Version 1.0 - August 17th, 2003
|
|
@@ -60,6 +60,27 @@ lz4 배치 압축을 쓰려면 `pip install "jetstream-api[lz4]"`, zstd 배치
|
|
|
60
60
|
## 설치 방법
|
|
61
61
|
pip install jetstream-api
|
|
62
62
|
|
|
63
|
+
## 0.13.0 변경 - 세션 타임아웃 기본값 30초, acks 값 검사, 수신 기한 수정 (자바 v2.9.0 과 같음)
|
|
64
|
+
|
|
65
|
+
- **세션 타임아웃 기본값이 경로마다 달라집니다.** 리더가 얼어붙어 응답이 오지 않으면 0.12.0 까지는 최대 10분을 매달렸습니다.
|
|
66
|
+
- 데이터 경로(`ILQmgr` / 큐 / 토픽): **600000 -> 30000**. 접속 대기 시간도 같은 값이라 페일오버 재접속이 빨라집니다.
|
|
67
|
+
- 관리 경로(`ILAdminService`): **600000 유지**. 엔진이 큐 관리자 정지 · 삭제 응답을 실제로 내려갈 때까지 붙들고, 토픽을 닫으며
|
|
68
|
+
파티션마다 fsync 하느라 수 분이 걸릴 수 있습니다.
|
|
69
|
+
- 큐 `get(wait)` 은 전처럼 알아서 늘어납니다(대기 시간의 2배). 기본 대기 60초면 수신 상한이 120초라 **기본 동작은 그대로입니다**.
|
|
70
|
+
**무한 대기(`set_wait_msg_timeout_ms(-1)`)도 이제 같이 늘어납니다.** 무한 대기는 엔진에 60초를 주고 루프를 도는 것이라
|
|
71
|
+
엔진이 쥐는 시간은 유한 대기와 같은데 전에는 예외로 두고 있었습니다. 기본값이 600000 일 때는 드러나지 않던 자리입니다.
|
|
72
|
+
- 전처럼 오래 기다리려면 `qmgr.set_session_timeout(600000)` 을 부르면 됩니다.
|
|
73
|
+
- **`spokeSwitchTo(key, timeoutSec)`** 는 엔진이 그 시간만큼 응답을 붙들기에, 그 호출 동안만 수신 상한을 `timeoutSec` 의 2배로
|
|
74
|
+
올리고 되돌립니다.
|
|
75
|
+
- **수신 기한이 소켓 읽기 하나마다 걸립니다.** 프레임 전체의 기한이 아닙니다 - 응답이 조각으로 나뉘어 와도 다음 조각이 그 시간 안에
|
|
76
|
+
오면 계속 받습니다(자바와 같은 규칙). 느린 회선의 큰 메시지가 파이썬에서만 끊기던 것이 사라집니다.
|
|
77
|
+
- 기한이 지나면 `MIMQE_WAIT_TIMEOUT` 입니다. 전에는 `MIMQE_INTERNAL_ERROR`("unhandled exception")로 나왔습니다.
|
|
78
|
+
- 세션 타임아웃 `0` 은 **끝없이 기다립니다**(자바와 같습니다). 전에는 곧바로 기한 초과였습니다.
|
|
79
|
+
- **`ILProducerConfig.acks` 는 0 과 1 만 받습니다.** 그 밖의 값은 `ValueError` 입니다(자바 `IllegalArgumentException` 과 짝).
|
|
80
|
+
0.12.0 까지는 0 이 아닌 값을 모두 1 로 보정해 `acks=2` 같은 오타가 조용히 통과했습니다.
|
|
81
|
+
- 문서: 클러스터에서 `acks(1)` 은 팔로워 확인(HW)까지라는 것(= Kafka `acks=all`), 파티션이 많은 토픽에서는 그 대기가 봉투 안
|
|
82
|
+
파티션마다 겹쳐 `requestTimeoutMs` 가 먼저 끝날 수 있다는 것, `removeSession` 이 반쯤 열린 연결을 푸는 수단이라는 것을 적었습니다.
|
|
83
|
+
|
|
63
84
|
## 0.12.0 변경 - 큐 전용 요청 코드(엔진 7.0.1.3431 이상) 자동 사용 (자바 v2.8.0 과 같음)
|
|
64
85
|
|
|
65
86
|
- **앱 코드는 바꿀 것이 없습니다.** 엔진 판 줄이 7.x 이고 리비전이 3431 이상이면 클라이언트가 스스로 새 요청 코드를 씁니다.
|
|
@@ -10,6 +10,27 @@ lz4 배치 압축을 쓰려면 `pip install "jetstream-api[lz4]"`, zstd 배치
|
|
|
10
10
|
## 설치 방법
|
|
11
11
|
pip install jetstream-api
|
|
12
12
|
|
|
13
|
+
## 0.13.0 변경 - 세션 타임아웃 기본값 30초, acks 값 검사, 수신 기한 수정 (자바 v2.9.0 과 같음)
|
|
14
|
+
|
|
15
|
+
- **세션 타임아웃 기본값이 경로마다 달라집니다.** 리더가 얼어붙어 응답이 오지 않으면 0.12.0 까지는 최대 10분을 매달렸습니다.
|
|
16
|
+
- 데이터 경로(`ILQmgr` / 큐 / 토픽): **600000 -> 30000**. 접속 대기 시간도 같은 값이라 페일오버 재접속이 빨라집니다.
|
|
17
|
+
- 관리 경로(`ILAdminService`): **600000 유지**. 엔진이 큐 관리자 정지 · 삭제 응답을 실제로 내려갈 때까지 붙들고, 토픽을 닫으며
|
|
18
|
+
파티션마다 fsync 하느라 수 분이 걸릴 수 있습니다.
|
|
19
|
+
- 큐 `get(wait)` 은 전처럼 알아서 늘어납니다(대기 시간의 2배). 기본 대기 60초면 수신 상한이 120초라 **기본 동작은 그대로입니다**.
|
|
20
|
+
**무한 대기(`set_wait_msg_timeout_ms(-1)`)도 이제 같이 늘어납니다.** 무한 대기는 엔진에 60초를 주고 루프를 도는 것이라
|
|
21
|
+
엔진이 쥐는 시간은 유한 대기와 같은데 전에는 예외로 두고 있었습니다. 기본값이 600000 일 때는 드러나지 않던 자리입니다.
|
|
22
|
+
- 전처럼 오래 기다리려면 `qmgr.set_session_timeout(600000)` 을 부르면 됩니다.
|
|
23
|
+
- **`spokeSwitchTo(key, timeoutSec)`** 는 엔진이 그 시간만큼 응답을 붙들기에, 그 호출 동안만 수신 상한을 `timeoutSec` 의 2배로
|
|
24
|
+
올리고 되돌립니다.
|
|
25
|
+
- **수신 기한이 소켓 읽기 하나마다 걸립니다.** 프레임 전체의 기한이 아닙니다 - 응답이 조각으로 나뉘어 와도 다음 조각이 그 시간 안에
|
|
26
|
+
오면 계속 받습니다(자바와 같은 규칙). 느린 회선의 큰 메시지가 파이썬에서만 끊기던 것이 사라집니다.
|
|
27
|
+
- 기한이 지나면 `MIMQE_WAIT_TIMEOUT` 입니다. 전에는 `MIMQE_INTERNAL_ERROR`("unhandled exception")로 나왔습니다.
|
|
28
|
+
- 세션 타임아웃 `0` 은 **끝없이 기다립니다**(자바와 같습니다). 전에는 곧바로 기한 초과였습니다.
|
|
29
|
+
- **`ILProducerConfig.acks` 는 0 과 1 만 받습니다.** 그 밖의 값은 `ValueError` 입니다(자바 `IllegalArgumentException` 과 짝).
|
|
30
|
+
0.12.0 까지는 0 이 아닌 값을 모두 1 로 보정해 `acks=2` 같은 오타가 조용히 통과했습니다.
|
|
31
|
+
- 문서: 클러스터에서 `acks(1)` 은 팔로워 확인(HW)까지라는 것(= Kafka `acks=all`), 파티션이 많은 토픽에서는 그 대기가 봉투 안
|
|
32
|
+
파티션마다 겹쳐 `requestTimeoutMs` 가 먼저 끝날 수 있다는 것, `removeSession` 이 반쯤 열린 연결을 푸는 수단이라는 것을 적었습니다.
|
|
33
|
+
|
|
13
34
|
## 0.12.0 변경 - 큐 전용 요청 코드(엔진 7.0.1.3431 이상) 자동 사용 (자바 v2.8.0 과 같음)
|
|
14
35
|
|
|
15
36
|
- **앱 코드는 바꿀 것이 없습니다.** 엔진 판 줄이 7.x 이고 리비전이 3431 이상이면 클라이언트가 스스로 새 요청 코드를 씁니다.
|