Message Queue 4.4에는 새 버그 수정이 포함되어 있고 Message Queue 4.x의 이전 릴리스에서 수정된 버그가 통합되어 있습니다.
다음 절에서는 각 릴리스에서 해결된 버그를 소개합니다
다음 표는 Message Queue 4.4에서 해결된 버그를 설명합니다.
표 1–7 Message Queue 4.4에서 해결된 버그
버그 |
설명 |
---|---|
6242247 |
두 브로커가 모두 동일한 이름이 사용된 시스템에 있는 경우 MQ 클러스터에 마스터 브로커 시작 및 정지 |
6760937 |
브로커가 다시 시작되는 경우 DB에 다시 연결되지 않음 |
6765410 |
마스터 브로커가 로컬 인터레스트를 2회 보내고 이로 인해 영구 가입이 이미 활성화된 슬레이브 예외가 발생함 |
6796506 |
원격 PREPARE 회신 수신 시 시간 초과된 경우 롤백 이후 원격 PREPARED 메시지가 다시 전달되지 않음 |
6821639 |
MQRA-DIRECT 모드에 대한 AS 복구 중 rollback/commitTransaction시 NPE 발생 |
6836364 |
와일드카드 가입자의 주제가 가입자보다 먼저 생성된 경우 해당 가입자가 원격 메시지를 수신하지 못함 |
6836749 |
HA(JCAPS): durables 중 하나가 메시지를 롤백한 다음 완결한 후 다시 수신 시 저장소에 ack가 있는 예외 발생 |
6858905 |
Consumer.destroyConsumer의 ConcurrentModificationException |
다음 표는 Message Queue 4.3에서 해결된 버그를 설명합니다.
표 1–8 Message Queue 4에서 해결된 버그. 3
버그 |
설명 |
---|---|
6634033 |
클러스터 프로토콜이 imqConsumerFlowLimit 값을 클라이언트가 생성된 원격 브로커로 전파하지 않음 |
6713012 |
클러스터의 브로커에서 사용자가 완전 삭제되는 동시에 원격 브로커가 다시 시작되면 일부 메시지가 전달되지 않을 수 있음 |
6727555 |
브로커 로그 메시지 "Max bytes per msg exceeded"에 실제 메시지 크기 및 전환된 max bytes per message 값이 있음 |
6737404 |
JMX 메트릭은 대상(주제 및 대기열)에서 디스패치되었지만 사용자에게 아직 전달되지 않은 메시지 수를 제공해야 함 |
6740568 |
단일 트랜잭션에서 너무 많은 메시지를 사용할 경우 브로커가 예외를 표시함 |
6758524 |
영구 가입을 나열하는 명령(imqcmd list dur -d "foo.*")이 대상 이름에 와일드카드 문자를 허용하지 않음 |
6758952 |
imq.portmapper.hostname=localhost를 설정하면 브로커를 클러스터에 연결할 수 없음 |
6758817 |
imq.cluster.hostname=localhost를 설정하면(권장되지 않음) 다른 시스템의 브로커를 클러스터에 연결할 수 없음 |
다음 표는 Message Queue 4.2에서 해결된 버그를 설명합니다.
표 1–9 Message Queue 4.2에서 해결된 버그
버그 |
설명 |
---|---|
6581592 |
설치 프로그램 또는 제거 프로그램이 텍스트 모드(installer –t)로 실행되는 경우 요약 화면에 로그/요약 파일이 포함된 디렉토리가 표시되지만 이 파일의 이름은 나열되지 않음 |
6585911 |
설치 프로그램의 JDK 선택 화면에 설치 프로그램에 번들로 제공되며 설치 프로그램 실행에 사용되는 JRE가 잘못 포함되어 있음 |
6587112 |
다중 바이트 로켈에서 설치 프로그램 요약 화면에 알 수 없는 문자가 표시됨 |
6587127 |
응답 파일을 참조하여 설치 프로그램을 실행하는 경우(installer -a filename -s) 응답 파일이 없으면 일관성 없고 모호한 오류 메시지가 표시됨 |
6590969 |
클라이언트 연결 인증에 DN 사용자 이름 형식이 허용됨 |
6594381 |
시스템에 이전 버전의 Message Queue 현지화 RPM이 있을 경우 Message Queue 4.1 현지화 RPM 설치(다국어 패키지 화면에서 "Message Queue 다국어 패키지 설치"를 선택하여 실행)에 실패함 |
6599144 |
Message Queue 4.2를 제거할 때 Java SE 6에서는 스플래시 화면과 제거 프로그램이 중지되고 회색의 빈 화면이 표시되지만 Java SE 5에서는 제대로 작동함 |
6615741 |
원래 사용자가 롤백 전에 닫힌 경우 롤백된 트랜잭션 사용자 세션에 전달된 메시지가 재전송되지 않음 |
6629922 |
분산 트랜잭션 처리기에서 비활성 사용자에게 메시지를 올바른 순서로 재전송하지 않음 |
6635130 |
대상이 메모리 또는 메시지 제한에 도달했기 때문에 브로커에서 일시 중지되었던 비지속성 메시지의 생성을 다시 시작하는 것을 생성자에 알리지 못함 |
6641117 |
원래 사용자가 롤백 후에 닫힌 경우 롤백된 트랜잭션 사용자 세션에 전달된 메시지가 재전송되지 않음 |
6683897 |
구성이 성공적으로 완료된 것 같은 경우에도 Message Queue 설치 프로그램의 요약 화면에 설치 프로그램이 일부 컴퓨터의 /dev/sterr에 쓸 수 없다는 구성 오류가 보고됩니다. |
6684069 |
사용자 트랜잭션을 통해 대량의 메시지가 원격 클라이언트로 전달되는 브로커 클러스터에서 트랜잭션 완결이 실패함 |
6688935 |
포트 매퍼 읽기 시간 초과의 기본값이 너무 작음 |
6695238 |
경로에 공백이 있는 위치에 설치된 브로커에 C 클라이언트 응용 프로그램으로 연결할 수 없음 |
6710168 |
중간에 다시 시작하지 않고 대상을 두 번 일시 중지한 경우 사용자가 더 이상 메시지를 사용하지 않음 |
6710169 |
JMX 작업 ConsumerManagerMonitor.getConsumerInfo에서 확인 모드에 대해 항상 SESSION_TRANSACTED를 반환함 |
다음 표는 Message Queue 4.1에서 해결된 버그를 설명합니다.
표 1–10 Message Queue 4.1에서 해결된 버그
버그 |
설명 |
---|---|
6381703 |
메시지를 만든 브로커가 다시 시작되면 트랜잭션된 원격 메시지가 두 번 완결될 수 있음 |
6388049 |
완료되지 않은 분산 트랜잭션을 정리할 수 없음 |
6401169 |
imqcmd에 대한 완결 및 롤백 옵션이 확인을 요청하는 메시지를 표시하지 않음 |
6473052 |
자동 생성된 대기열의 기본값은 라운드 로빈되어야 함 (MaxNumberConsumers = -1) |
6474990 |
imqcmd list dst 명령에 대해 브로커 로그가 ConcurrentModificationException을 표시함 |
6487413 |
제한 동작이 REMOVE_OLDEST 또는 REMOVE_LOWER_PRIORITY일 경우 메모리 누출이 발생함 |
6488340 |
브로커가 회전하고 클라이언트가 응답 확인을 기다림 |
6502744 |
브로커가 사용 불능 메시지 대기열의 기본 제한인 1000개 메시지를 따르지 않음 |
6517341 |
imqReconnectEnabled 등록 정보 값에 관계 없이 클라이언트가 다시 연결될 수 있도록 하여 클라이언트를 향상된 브로커 클러스터에 연결할 경우 클라이언트 런타임의 다시 연결 논리가 향상되어야 함 |
6528736 |
시작 도중 Windows 자동 시작 서비스(imqbrokersvc)에 충돌이 발생함 |
6561494 |
메시지와 사용자가 한 세션을 공유한 경우 메시지가 잘못된 사용자에게 전송됨 |
6567439 |
PREPARED 트랜잭션에서 생성된 메시지가 브로커 다시 시작 후에 완결되면 메시지가 잘못된 순서로 전송됨 |
다음 표는 Message Queue 4.0에서 해결된 버그를 설명합니다.
표 1–11 Message Queue 4.0에서 해결된 버그
버그 번호 |
설명 |
---|---|
4986481 |
Message Queue 3.5의 경우 자동 다시 연결 모드에서 Session.recover 호출이 정지될 수 있었음 |
4987325 |
Session.recover 호출 후 재전송된 플래그가 재전송된 메시지에 대해 false로 설정되었음 |
6157073 |
연결 총 수뿐 아니라 서비스의 연결 수를 포함시키기 위해 새 연결 메시지를 변경함 |
6193884 |
메시지에 ASCII가 아닌 문자를 사용하는 로켈의 경우 Message Queue는 알아 볼 수 없는 메시지를 syslog로 출력함 |
6196233 |
JMSMessageID를 사용하여 메시지를 선택할 수 없음 |
6251450 |
클러스터 종료 도중 connectList의 ConcurrentModificationException |
6252763 |
java.nio.HeapByteBuffer.putLong/Int의 java.nio.BufferOverflowException |
6260076 |
Oracle 저장소에서 시작 후 첫 번째로 게시되는 메시지가 느림 |
6260814 |
JMSXUserID에서의 선택기 처리가 항상 false로 처리됨 |
6264003 |
대기열 브라우저가 완결되지 않은 트랜잭션의 일부인 메시지를 표시함 |
6271876 |
사용되지 않은 메시지를 가진 사용자를 종료할 때 연결 흐름 제어가 제대로 작동하지 않음 |
6279833 |
Message Queue에서 두 개의 브로커가 동일한 jdbc 테이블을 사용해서는 안 됨 |
6293053 |
시스템의 IP 주소가 변경된 경우 저장소를 지우기 전에는(—reset store 사용) 마스터 브로커가 올바르게 시작되지 않음 |
6294767 |
Message Queue 브로커가 여는 네트워크 소켓에 SO_REUSEADDR을 설정해야 함 |
6304949 |
ClientID 등록 정보를 TopicConnectionFactory 에 설정할 수 없음 |
6307056 |
txn 로그에 성능 병목 현상 발생 |
6320138 |
Message Queue C API에 회신 헤더로부터 대기열의 이름을 확인하는 기능이 없음 |
6320325 |
JDK 1.4와 JDK 1.5가 모두 설치된 경우 브로커가 JDK 1.5보다 JDK 1.4를 먼저 선택하는 경우가 있음 |
6321117 |
멀티 브로커 클러스터 초기화 시 java.lang.NullPointerException 발생 |
6330053 |
가입자의 트랜잭션을 완결할 때 jms 클라이언트에서 java.lang.NoClassDefFoundError가 발생함 |
6340250 |
C-API에서 MESSAGE 유형 지원 |
6351293 |
Apache Derby 데이터베이스 지원 추가 |