본문바로가기
제품명 InnoRules 버그번호 BIR2100010
제목 룰 내용에 상수가 많고 OR 연산자를 많이 사용한 조건식이 존재하는 경우 간헐적으로 룰 실행 오류가 발생하는 현상
현상 룰 내용에 다음과 같은 룰 문법이 포함되어 있을때 간헐적으로 룰 실행 오류가 발생함

1. 아주 많은 상수를 사용하고
2. 하나의 조건식에서 OR 연산자를 많이 사용한 조건식이 존재하며
예 ) [항목] = "1" OR [항목] ="2" OR [항목] = "3" OR [항목] = "4" OR [항목] = "5" OR [항목] = "6" OR [항목] = "7" ... OR [항목] = "36"
3. OR 연산자를 많이 사용한 조건식 이전에 수행된 다른 조건식이 많은 경우

다음과 같은 경우에는 오류 발생하지 않음
1. 하나의 조건식에 단순한 조건을 사용한 경우
2. 하나의 조건식이 복잡하게 구성되었더라도 룰 내용에 상수가 많지 않거나 이전에 수행된 조건식이 적은 경우
분석결과
상수와 OR 조건을 함께 사용하는 경우 룰 실행 시 잘못된 인덱스를 참조하여 발생한 오류

픽스를 권장하나 다음과 같이 룰 내용을 변경하면 우회가 가능함
1. 조건식을 OR 연산식을 사용하지 않는 [항목] = ( "1", "2", "3", .. , "36" ) 의 형태로 변경
2. 하나의 조건식에서 OR 연산식을 많이 사용하지 않도록 여러개의 조건식으로 분리

우회방법 없음
영향받는버전 innorulesj.jar 7.2.0.0 ~ 7.2.1.4, innorulesj.jar 7.3.0.0 픽스버전 innorulesj.jar 7.2.1.5, innorulesj.jar 7.3.0.1
접수일자 2021-12-17 처리일자 2021-12-17