본문 바로가기

장애&오류&예외/인프라

[ Jennifer-Error ] Weblogic 기동불가현상(Jennifer4.5미만)

브라우저 벤더사의 TLS(v1.1&v1.2) 지원차단 공지 이후, 대상작업 당시에 발생되었던 이슈이다.

대상작업 영향으로 플랫폼의 여러 작업(다른 글확인)들이 이루어졌으며,  WAS의 JDK(1.6->1.7) 역시 전환 작업 대상에 포함되었다. 대형 작업이기에 사전작업으로 여러환경(개발/테스트/디버그)에 적용하여 문제 시 될만한 대상들을 검토하였으나 특이사항은 없었다.

하지만, 실용환경 작업 당시에 해당 이슈는 발생되었다.

원인 분석을 하였으나 로그 및 시스템 등 여러 영역에서 확인이이 불가했다.

결과적으로 당일 작업은 전체 원복이 이루어졌으며, 명일날 디버그환경에서 재차 테스트가 이루어졌다.

확인결과, 예상외의 곳에서 오류가 발생되었던 것이 확인되었다. weblogic에 추가시켜둔 APM(jennifer) 모듈에서 문제가 되었던 것이 확인되었던 것이다.

전혀 예상치 못했던 사항이기에 추후에 동일한 작업이 있을 곳을 생각하며, 고생이 없기 바라며 해당 글을 올립니다.

 

#- 대상 이슈사항 요약
- WAS정보 : weblogic10.3
- 발생원인 : APM(jennifer)모듈에 따른 오류발생
- 현상 : jdk1.6 -> jdk1.7 전환 후, 오라클 DB 연동 불가

#- 솔루션 설정정보
1) jdbc 관련 ClassLoading 실패 문제
- JDK7 내, DriverManager 클래스에 대한 구현 내용이 변동.
- Jennifer Library가 참조하는 DriverManager옵션 해제필요.
- 설정내용
  OPT="$OPT -Dbuild_jdbc=true" 
  #OPT="$OPT -Dbuild_jdbc_datasource=true" 
  #OPT="$OPT -Dbuild_jdbc_drivermanager=true" => OPT="$OPT -Dbuild_jdbc_drivermanager=false"  

2) VerifyError 발생으로 인한 -XX:-UseSplitVerifier JVM 옵션 적용 필요
- 제니퍼4.5의 호환문제로, 임시방편인 -XX:-UseSplitVerifier JVM 옵션 적용. 
- JDK7부터 도입된 bytecode verifier로 이슈 발생. 
- JDK7부터 새로 도입된 것으로 기존 JDK6의 bytecode 검사보다 더욱 까다롭게 체크하는 것으로 변경. 
- 제니퍼 4.6버전에서는 해당 옵션 없이도 WAS기동이 가능하도록 fixed

#- References
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6693236