Phoenix 라이브러리 - ERROR 2008 (INT10): Unable to find cached index metadata 발생 시
Phoenix 4.1 을 사용하고 있는데, 인덱스 테이블 오류로 인해 테이블을 drop 후 데이터를 upsert하는 도중 아래와 같이 오류가 발생 했고, 이어서 Hbase Region Server가 다운 되는 현상이 발생 했다.
Region Server를 모두 재기동 후, Region Server는 모두 정상이었지만, 더이상 data upsert를 진행 할수 없었고, 로그를 확인 하던 도중 meta data 를 찾을수 없다는 로그를 발견하였다.
위의 상황과 똑같은 이슈가 올라와 있어 링크를 걸어 놓았다.
https://issues.apache.org/jira/browse/PHOENIX-1005
장애가 나는 순서를 적어보면
1. 해당 테이블에 upsert data가 발생하고 있는 도중에 Drop index table이 발생하면 에러가 발생
이때 Cannot find row in hbase:meta for table 로그가 남는다.
2. meta data를 찾을수 없다는 로그와 함께 Region Server들이 shutdown 되는 현상이 발생한다. (Phoenix 쪽 failure policy 대로 region server에 shutdown 이 날아간다.)
3. Region Server 재기동 후 여전히 meta data 를 찾을수 없다면서 로그가 발생. (다시 다운되는 현상은 없지만 upsert data가 불가하다)
해결 방법
1. 버전 업 - 상위 버전에서 fix 되었다고는 하나. 안되는 것을 확인하였다.
2. Region server 재기동후 drop한 index를 생성후 region 서버 재기동 - 이경우 테스트를 통해 잘 작동하는 것을 확인하였다.
* 주절주절
- 장애가 난 당시에 관련 레퍼런스들을 찾아보았으나 해결 방법이 딱히 없었다. 해결 방법이라곤 hbck를 이용하라는 것인데, 해도 복구가 되지 않았다. 해결 방법을 더 찾다 보면 새로 설치 하라는 말들이 많았는데, 결국 zookeeper에 저장된 정보를 다 날리고 hbase루트 디렉토리를 새로 생성하였다. 그 이후 원본 데이터들을 이용하여 hbase에 데이터들을 재 적재를 했다.
위에 적어논 해결 방법중 2번은 장애원인 추적하기 위해 테스트를 하다가 발견한 사실이지만, 2번이 모든 것의 해결 방법이라고 말할 수는 없겠다.
<English Version>
I'm used phoenix 4.1 version. when i drop the index table and upsert data to table, I saw error that can not update index table, and phoenix shut the region server down.
I reboot region server, region server status Okay. but I can't upsert data to table.
I found that " can't found meta data ".
Issue link
https://issues.apache.org/jira/browse/PHOENIX-1005
in conclusion
1. during upsert data and drop index table at the same time, occure error "Cannot find row in hbase:meta for table"
2. Region Server shutdown ( Phoenix Failure policy )
3. after region server reboot, not found meta data for table
Resolution
1. phoenix library version up
2. reboot a region server -> recreate index table and reboot a region server
댓글
댓글 쓰기