2016-10-21 10 views
-1

Phoenix를 처음 접해서 문제가 발생했습니다. 첫째, Phoenix의 Java에 의해 30000000 개의 레코드가있는 테이블을 만들었습니다. 그런 다음 테이블에 phoenix 전역 secondIndex를 생성하려고합니다. 그러나 프로그램이 10 분 동안 실행될 때 Java 클라이언트는 SQLTimeoutException을 발생시킵니다. 나는 왜 그런지 모르겠다. 제발 도와주세요. Phoenix Create SecondaryIndex timeout

java.sql.SQLTimeoutException: Operation timed out. 
 
     at org.apache.phoenix.exception.SQLExceptionCode$15.newException(SQLExceptionCode.java:376) 
 
     at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145) 
 
     at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:804) 
 
     at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:720) 
 
     at org.apache.phoenix.iterate.RoundRobinResultIterator.getIterators(RoundRobinResultIterator.java:176) 
 
     at org.apache.phoenix.iterate.RoundRobinResultIterator.next(RoundRobinResultIterator.java:91) 
 
     at org.apache.phoenix.compile.UpsertCompiler$2.execute(UpsertCompiler.java:810) 
 
     at org.apache.phoenix.compile.DelegateMutationPlan.execute(DelegateMutationPlan.java:31) 
 
     at org.apache.phoenix.compile.PostIndexDDLCompiler$1.execute(PostIndexDDLCompiler.java:124) 
 
     at org.apache.phoenix.query.ConnectionQueryServicesImpl.updateData(ConnectionQueryServicesImpl.java:2805) 
 
     at org.apache.phoenix.schema.MetaDataClient.buildIndex(MetaDataClient.java:1153) 
 
     at org.apache.phoenix.schema.MetaDataClient.createIndex(MetaDataClient.java:1462) 
 
     at org.apache.phoenix.compile.CreateIndexCompiler$1.execute(CreateIndexCompiler.java:85) 
 
     at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:340) 
 
     at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:328) 
 
     at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) 
 
     at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:326) 
 
     at org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1369) 
 
     at cc.xidian.PhoenixOperation.PhoenixSQLOperation.createSecondIndexHintForGeoHashValueLongOfTable(PhoenixSQLOperation.java:1713) 
 
     at cc.xidian.MainTest.GeoHashMainTest.main(GeoHashMainTest.java:59) 
 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
 
     at java.lang.reflect.Method.invoke(Method.java:606) 
 
     at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) 
 
CreateSecondIndex-Time: 602708

답변

0

비동기 옵션을 사용하여 인덱스를 생성하십시오.