'2014/07'에 해당되는 글 1건

  1. 2014.07.13 Configurable queue size for ATS Hook

https://issues.apache.org/jira/browse/HIVE-7377

ATSHook 은 hadoop-2 의 timeservice 에 쿼리 처리 시간과 같은 정보를 전달해 주는 Hook 으로 Pre/Post/FailHook 으로 등록하여 사용한다. (https://issues.apache.org/jira/browse/HIVE-7076)

hive.exec.pre.hooks=ql.src.java.org.apache.hadoop.hive.ql.hooks.ATSHook

hive.exec.post.hooks=ql.src.java.org.apache.hadoop.hive.ql.hooks.ATSHook

hive.exec.failure.hooks=ql.src.java.org.apache.hadoop.hive.ql.hooks.ATSHook

내부적으로는 쓰레드풀에 ExecutionContext 를 queue 에 넣으면 Executor 들이 여기에서 필요한 정보를 만들어 http 로 전달하는데 만약 timeservice 가 설정 되어 있지 않거나 네트웍이 문제로 정보 전송에 delay 가 생기는 경우 queue 에 계속 ExecutionContext 가 쌓이게 된다. 

ExecutionContext 는 Plan, Task 등등을 포함하는 비교적 큰 객체로, 이 상태가 유지되면 OOM 을 피할 수 없다. 이 패치는 사용자가 queue 크기를 지정할 수 있게 해 주며 쌓인 작업의 갯수가 이를 넘어서는 경우는 제일 오래된(먼저 들어온) 정보를 discard 하여 메모리 사용량을 일정 레벨 이하로 유지하게 해 준다.

신고
Posted by navis94

카테고리

분류 전체보기 (31)
Apache Hive (29)

최근에 달린 댓글

최근에 받은 트랙백

태그목록

달력

«   2014/07   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

티스토리 툴바