/
5.5 개선 사항

5.5 개선 사항


Common

모든 서버 제품 적용되는 이슈 사항입니다.

  • LSM 인덱스를 사용한 Log Table SELECT 시, 인덱싱이 완료된 최근 레코드가 매우 낮은 확률로 조회되지 않는 문제가 해결되었습니다. (#1259)
  • Lookup Table 에서 DURATION 절을 사용하게 되면, 서버가 비정상 종료되던 문제가 해결되었습니다. (#1271)


  • 클라이언트가 비정상적인 프로토콜 메시지를 전송할 때, 서버의 에러 메시지가 Invalid protocol state. 만 나오던 문제가 해결되었습니다. (#1214)
    이제는 Invalid protocol state. Check your application again. (Protocol = OOO, Stmt State = OOO) 로 자세히 나오도록 했습니다.
  • 메모리 사용량을 줄이기 위해 DISK_KEYVALUE_ENABLE_MEM_INDEX Property 를 해제 (0) 하는 경우, Tagdata 테이블의 SELECT 가 느려지던 문제가 해결되었습니다. (#1164)
  • SELECT 가 빈번한 상황에서, 같은 테이블에 DELETE 를 수행하는 경우엔 Hang 이 발생하던 문제가 해결되었습니다. (#1286)
    DELETE 작업을 곧바로 진행하기 힘든 경우에는, 별도의 DELETE Thread 에게 맡긴 채로 작업을 종료하기 때문에 DELETE 완료가 당장 안될 수도 있습니다.
  • Windows 환경에서, 클라이언트 연결 해제가 완료되었음에도 TIME_WAIT 가 급격히 늘어나는 문제가 해결되었습니다. (#1160)
  • UNION ALL 에서 AVG Function 을 조회해서 합치는 경우, 서버가 비정상 종료하던 문제가 해결되었습니다. (#1330)
  • Tagdata Table 에서 DELETE WHERE 를 통해 메타데이터 삭제를 수행할 때, 간헐적으로 서버가 비정상 종료하던 문제가 해결되었습니다. (#1322)
  • Windows 환경에서, 이 작업을 완료하기 위한 페이징 파일이 너무 작습니다 라는 에러와 함께 서버가 비정상 종료하던 문제가 해결되었습니다. (#1291)
  • Tagdata Table DELETE 이후에도 SELECT 속도가 예전보다 빨라지지 않던 문제가 해결되었습니다. (#1300)
  • SELECT 구문에서 DURATION 절에 MINUTES 처럼 복수형 단위를 사용해도 에러가 나오지 않아서 의미 전달이 실패하던 문제가 해결되었습니다. (#1291)
    기본적으로 단위를 나타낼 때는 단수형 단위를 사용합니다. (예) MINUTE, SECOND
  • Fixed Table 조회 시, 간혹 실패하는 경우가 발생할 수 있는데, 이 때 서버로의 클라이언트 접속이 아예 안 되는 문제가 해결되었습니다. (#1354)
  • Stream 도중 실패할 경우, 에러 메시지를 출력한 다음에 종료하도록 수정했습니다. (#859)
  • Volatile Table 의 INSERT INTO ON DUPLICATE UPDATE 구문이 실패하는 경우엔, 레코드가 변경되지 않습니다.
    그런데 이 때 재부팅하면 레코드가 변경되어 있던 문제가 해결되었습니다. (#1366)
  • 저장 관리자에서 메모리 재사용 목적으로 메모리 해제를 하지 않아 사용 메모리가 증가하던 문제가 해결되었습니다. (#1392)
  • SELECT 도중 DROP TABLE TAG; 작동이 수행되어 서버가 비정상 종료하던 문제가 해결되었습니다. (#1325)
  • 호스트 시간이 현재 시각보다 과거/미래로 수정될 때, 서버가 비정상 종료하던 문제가 해결되었습니다. (#1420)
  • SELECT 가 Parallel Scan 을 진행할 때, 인덱스 빌드 중인 경우 결과를 가져오지 못하던 문제가 해결되었습니다. (#1418)
  • SELECT 가 Parallel Scan 을 진행할 때, LIMIT 가 존재하면 LIMIT 까지만 읽어 성능 개선을 하도록 수정했습니다. (#477)
  • Tagdata Table SELECT 에서, 시간 범위 조건에 등호 (=) 가 포함되지 않았는데 등호 조건에 포함된 결과까지 나오던 문제가 해결되었습니다. (#1431)
  • RTRIM() 에서 길이가 작은 문자열에 적용할 경우 정상적으로 작동하지 않던 문제가 해결되었습니다. (#1472)
  • NULL 을 나타내는 값을 WHERE 절에 사용할 경우, 에러가 발생하도록 수정했습니다. (#1457)
    NULL 값 비교에는 IS NULL 또는 IS NOT NULL 을 사용해야 합니다.
  • Tagdata Table SELECT 에서, MIN/MAX/COUNT 만 포함될 경우 빠르게 결과값을 얻을 수 있도록 수정했습니다. (#1484)
  • Windows 에서 Tagdata Table SELECT 를 할 때, 매우 낮은 확률로 시간 구간 조건 외의 데이터가 조회되는 문제가 해결되었습니다. (#1513)
  • Log Table SELECT 에서, DURATION 을 미래 시간 범위에 걸치는 경우에 결과가 올바르게 나오지 않던 문제가 해결되었습니다. (#1520)
  • Windows 에서, 세션 접속이 한꺼번에 몰릴 경우 낮은 확률로 새로운 세션 접속이 전혀 이뤄지지 않던 문제가 해결되었습니다. (#1518)
  • Volatile Table 에서 INSERT 와 UPDATE 를 동시에 다량 수행하면 서버가 비정상 종료되던 문제가 해결되었습니다. (#1527)
  • 쿼리 연산 중 0으로 나누는 경우 중 특정 경우에는 NULL 값 취급을 하던 문제가 해결되었습니다. (#1543) 
    이제는 0으로 나누는 모든 경우 에러가 발생합니다.
  • Result Cache 를 사용 중일 때 Tagdata Table 조회를 여러 번 시도하면 서버가 비정상 종료되던 문제가 해결되었습니다. (#1501)
  • $MACHBASE_HOME 경로가 통째로 옮겨갈 경우, $MACHBASE_HOME 환경변수를 수정해도 데이터파일 디스크 경로를 인식하는 게 실패하던 문제가 해결되었습니다. (#1554)
  • Stream/Rollup 도중 Shutdown 을 시도할 경우, 서버가 비정상 종료되던 문제가 해결되었습니다. (#1593)
  • ALTER SESSION SET SQL_LOGGING 의 값이 3 을 넘어도 입력이 가능하던 점을 수정했습니다. (#1607) 해당 값은 0/1/2/3 만 가능합니다.
  • Volatile Table 에서 INSERT 와 DELETE 를 동시에 다량 수행하면 서버가 비정상 종료되던 문제가 해결되었습니다. (#1551)
  • 1970-01-01 이전의 날짜/시간 값을 입력하거나 조회 조건으로 넣지 못하도록 수정했습니다. (#1235)

Cluster Edition

Cluster Edition 에 적용되는 이슈 사항입니다.

  • 동일한 패키지 이름을 Add-Package 할 경우 성공하던 문제가 해결되었습니다. (#1296)
  • Fixed Table 조회 시 Global OID 가 간헐적으로 오염될 수 있는 문제가 해결되었습니다. (#1285)
  • --force-restore-state 명령의 대상이 scrapped 상태만 지원됐었으나, ddl-incomplete 상태도 가능하도록 수정했습니다. (#1324)
  • 종료되었다 되살아난 Warehouse 가 존재할 경우, 이후 DDL 수행이 되살아난 Warehouse 에서는 전혀 다른 방법으로 진행하던 문제가 해결되었습니다. (#1223)
    이렇게 진행할 경우, 추후 진행되는 쿼리가 해당 Warehouse 에서는 수행되지 않거나 비정상 종료될 수 있는 잠재적 위험을 가지고 있었습니다.
  • machloader 를 사용해 입력하는 경우, Warehouse 가 전부 비정상 종료되던 문제가 해결되었습니다. (#1367)
  • 종료되었다 되살아난 Warehouse 가 인식된 직후, SELECT 가 실패하던 문제가 해결되었습니다. (#1344)
  • 연결이 종료된 상황에서 메시지를 보내는 경우, 메시지가 전달이 성공한 것 처럼 여겨지던 문제가 해결되었습니다. (#1327)
  • INSERT SELECT 도중 Warehouse 가 종료될 경우, 해당 Warehouse 는 scrapped 상태가 되도록 수정했습니다. (#1441)
  • Secondary Coordinator 가 추가되거나 되살아났다면, Primary Coordinator 의 DDL 정보와 동기화되도록 수정했습니다. (#1429)
  • Node 간 기존 연결을 판단하는 과정에서, 정상 연결을 재연결 시도하는 문제가 해결되었습니다. (#1496)
  • APPEND 도중 Warehouse Group 의 연결이 종료되는 경우, Broker 가 같이 비정상 종료되던 문제가 해결되었습니다. (#1556)
  • Warehouse Recovery 가 자동으로 수행된 이후, Replication 관련 Fixed Table 조회 시 Broker 가 비정상 종료되던 문제가 해결되었습니다. (#1526)
  • Keyword Index 생성 시 Index Property 인 MODE 값이 적용되지 않던 문제가 해결되었습니다. (#1594)
  • Remove-Node 직후 APPEND 를 시도할 경우, APPEND 가 실패하던 문제가 해결되었습니다. (#1598)
  • APPEND 가 동시에 많이 수행될 경우, Warehouse 에서 Hang 이 발생하던 문제가 해결되었습니다. (#1619)
  • 낮은 확률로 INSERT SELECT 도중 Warehouse 가 비정상 종료되던 문제가 해결되었습니다. (#1629)

MWA / Tag Analyzer

마크베이스 웹 관리자에 적용되는 이슈 사항입니다.

  • 깨진 한글이나 올바르지 않은 문자가 서버에 입력된 경우, MWA 에서 인코딩이 실패해도 계속 진행하던 문제가 해결되었습니다. (#1381)
  • 특정 OS 에서, MWAserver start 시 표시되는 접속 주소가 올바르지 않던 문제가 해결되었습니다. (#1387)
  • Coordinator 상태, Warehouse 상태 추가가 이뤄지면서, MWA Cluster Admin 에도 동일하게 표시할 수 있도록 수정했습니다. (#1426)
  • 로그인 없이 Tag Analyzer 에 접근 가능하던 문제가 해결되었습니다. (#1486)
  • Cluster Admin 에서, Deploy 가 실패한 Coordinator 에 대해 Add-Node 명령을 수행하던 문제가 해결되었습니다. (#1569)

Client Library

클라이언트 라이브러리에 적용되는 이슈 사항입니다.

  • 서버로 ODBC 연결 실패 시, 에러 메시지가 출력되지 않아 정상 상황으로 보이던 문제가 해결되었습니다. (#1226)
  • C# Connector 에서, 연결 문자열 (Connection String) 에 입력할 수 있도록 CONNECT_TIMEOUT, COMMAND_TIMEOUT 을 지원합니다. (#1356)
  • C# Connector 에서, APPEND 실패 에러 메시지를 확인할 수 있는 Delegator Type 과 인터페이스를 추가했습니다. (#1357)
  • C# Connector 에서, SocketException 을 제대로 발행하지 않던 문제가 해결되었습니다. (#1327)
  • C# Connector 에서, MachConnection/MachCommand 가 IDisposable 을 상속받고 dispose() 호출 또는 using 구문으로 할당한 경우에 내부 자원 해제를 자동으로 하도록 수정했습니다. (#1497)

Utility / Collector

유틸리티/컬렉터에 적용되는 이슈 사항입니다.

  • Collector Table 건수가 너무 많을 때, 수집기에서 Offset, Checksum 값을 조회하는 것이 너무 느린 점을 개선했습니다. (#1329)
  • machloader 에서, 다른 테이블 타입에 export 명령을 수행하는 경우, DURATION 절이 있다 는 에러 메시지가 나오던 문제가 해결되었습니다. (#1401)
  • machloader 에서, datetime format 입력 시 'unixtime' 을 지원하지 않던 문제가 해결되었습니다. (#1469)
  • machloader 에서, 숫자에 포함된 구분 콤마를 인식할 수 있도록 수정했습니다. (#1617)
    예를 들어, 입력 대상 값이 '378,776' 인 경우라면 machloader 가 '378776' 으로 인식해서 서버에 입력하게 됩니다.
  • Windows 에서, machsql 접속 중 Ctrl+C 를 누르면 프롬프트는 종료되지만 프로세스가 여전히 실행 중인 상태로 남는 문제가 해결되었습니다. (#1515)
  • machsql 에서, 다른 사용자로 로그인 한 이후 Ctrl+C 를 누르면 프롬프트가 다시 출력되지 않고 비정상 종료되던 문제가 해결되었습니다. (#1608)
  • Collector 에서, escape character (") 를 제대로 처리하지 못하던 문제가 해결되었습니다. (#1425)

Related content