APAR status
Closed as fixed if next.
Error description
Customer is connecting their Kafka Message Queue to Big SQL Hadoop Table. As we allow custom external storage handler in stored by clause,this looks like it should work. Creating the hadoop table is ok, however reading from it fails as Big SQL is unable to get the metadata for the table, due to a null pointer exception bigsql-sched.log shows 2019-11-26 16:30:39,718 ERROR com.ibm.biginsights.bigsql.scheduler.server.cache.DescriptorTabl eCache [pool-1-thread-3] : [SCL-0-6a85603e6] Incomplete-table: Front-End-Exception. schemaName=bigsql tableName=big_topic1. com.thirdparty.cimp.catalog.TableLoadingException: Failed to load metadata for table: big_topic1 at com.thirdparty.cimp.catalog.HdfsTable.load(HdfsTable.java:1427) at com.thirdparty.cimp.catalog.TableLoader.load(TableLoader.java:85 ) at com.thirdparty.cimp.catalog.TableLoadingMgr$3.call(TableLoadingM gr.java:296) at com.thirdparty.cimp.catalog.TableLoadingMgr$3.call(TableLoadingM gr.java:267) at java.util.concurrent.FutureTask.run(FutureTask.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec utor.java:1160) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe cutor.java:635) at java.lang.Thread.run(Thread.java:812) Caused by: java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions. java:191) at com.thirdparty.cimp.catalog.HdfsFileFormat.fromJavaClassName(Hdf sFileFormat.java:108) at com.thirdparty.cimp.catalog.HdfsTable.markNativeStatus(HdfsTable .java:1620) at com.thirdparty.cimp.catalog.HdfsTable.load(HdfsTable.java:1291) ... 7 more 2019-11-26 16:30:39,808 WARN com.thirdparty.cimp.catalog.Table [pool-7-thread-2] : Unknown type of table found during Table.fromMetastoreTable(). Trying hive-custom-file-format 2019-11-26 16:30:39,808 ERROR com.thirdparty.cimp.catalog.HdfsTable [pool-7-thread-2] : Exception during HdfsTable.load() java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions. java:191) at com.thirdparty.cimp.catalog.HdfsFileFormat.fromJavaClassName(Hdf sFileFormat.java:108) at com.thirdparty.cimp.catalog.HdfsTable.markNativeStatus(HdfsTable .java:1620) at com.thirdparty.cimp.catalog.HdfsTable.load(HdfsTable.java:1291) at com.thirdparty.cimp.catalog.TableLoader.load(TableLoader.java:85 ) at com.thirdparty.cimp.catalog.TableLoadingMgr$3.call(TableLoadingM gr.java:296) at com.thirdparty.cimp.catalog.TableLoadingMgr$3.call(TableLoadingM gr.java:267) at java.util.concurrent.FutureTask.run(FutureTask.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec utor.java:1160) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe cutor.java:635) at java.lang.Thread.run(Thread.java:812) 2019-11-26 16:30:40,025 WARN com.thirdparty.cimp.catalog.Table [pool-7-thread-3] : Unknown type of table found during Table.fromMetastoreTable(). Trying hive-custom-file-format 2019-11-26 16:30:40,026 ERROR com.thirdparty.cimp.catalog.HdfsTable [pool-7-thread-3] : Exception during HdfsTable.load() java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions. java:191) at com.thirdparty.cimp.catalog.HdfsFileFormat.fromJavaClassName(Hdf sFileFormat.java:108) at com.thirdparty.cimp.catalog.HdfsTable.markNativeStatus(HdfsTable .java:1620) at com.thirdparty.cimp.catalog.HdfsTable.load(HdfsTable.java:1291) at com.thirdparty.cimp.catalog.TableLoader.load(TableLoader.java:85 ) at com.thirdparty.cimp.catalog.TableLoadingMgr$3.call(TableLoadingM gr.java:296) at com.thirdparty.cimp.catalog.TableLoadingMgr$3.call(TableLoadingM gr.java:267) at java.util.concurrent.FutureTask.run(FutureTask.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec utor.java:1160) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe cutor.java:635) at java.lang.Thread.run(Thread.java:812) 2019-11-26 16:30:40,098 WARN com.thirdparty.cimp.catalog.Table [pool-7-thread-4] : Unknown type of table found during Table.fromMetastoreTable(). Trying hive-custom-file-format 2019-11-26 16:30:40,099 ERROR com.thirdparty.cimp.catalog.HdfsTable [pool-7-thread-4] : Exception during HdfsTable.load() java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions. java:191) at com.thirdparty.cimp.catalog.HdfsFileFormat.fromJavaClassName(Hdf sFileFormat.java:108) at com.thirdparty.cimp.catalog.HdfsTable.markNativeStatus(HdfsTable .java:1620) at com.thirdparty.cimp.catalog.HdfsTable.load(HdfsTable.java:1291) at com.thirdparty.cimp.catalog.TableLoader.load(TableLoader.java:85 ) at com.thirdparty.cimp.catalog.TableLoadingMgr$3.call(TableLoadingM gr.java:296) at com.thirdparty.cimp.catalog.TableLoadingMgr$3.call(TableLoadingM gr.java:267) at java.util.concurrent.FutureTask.run(FutureTask.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec utor.java:1160) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe cutor.java:635) at java.lang.Thread.run(Thread.java:812)
Local fix
---------------------------------------------------------- Workaround #1: Use ROW FORMAT SERDE with KafkaSerDe class ---------------------------------------------------------- CREATE EXTERNAL HADOOP TABLE kafka_tbl2 ( packageId string, account string, accountExternalId string, userId string , partnerId string , partnerCode string, transactions string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.kafka.KafkaSerDe' TBLPROPERTIES ( 'kafka.topic' = 'topic.v1', 'kafka.bootstrap.servers'='serverserverserver', 'kafka.consumer.security.protocol'='SSL', 'kafka.consumer.ssl.truststore.location'='/cert/truststore.jks', 'kafka.consumer.ssl.truststore.password'='x', 'kafka.consumer.ssl.keystore.type' = 'PKCS12', 'kafka.consumer.ssl.keystore.location' = '/cert/client.p12', 'kafka.consumer.ssl.keystore.password' = 'x' ); ---------------------------------------------------------------- ---------------- Workaround #2: Use STORED AS with KafkaInputFormat and KafkaOutputFormat classes ---------------------------------------------------------------- ---------------- CREATE EXTERNAL HADOOP TABLE kafka_tbl3 ( packageId string, account string, accountExternalId string, userId string , partnerId string , partnerCode string, transactions string ) STORED AS INPUTFORMAT 'org.apache.hadoop.hive.kafka.KafkaInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.kafka.KafkaOutputFormat' TBLPROPERTIES ( 'kafka.topic' = 'topic.v1', 'kafka.bootstrap.servers'='serverserverserver', 'kafka.consumer.security.protocol'='SSL', 'kafka.consumer.ssl.truststore.location'='/cert/truststore.jks', 'kafka.consumer.ssl.truststore.password'='x', 'kafka.consumer.ssl.keystore.type' = 'PKCS12', 'kafka.consumer.ssl.keystore.location' = '/cert/client.p12', 'kafka.consumer.ssl.keystore.password' = 'x' );
Problem summary
Please see problem discription.
Problem conclusion
Temporary fix
Comments
APAR Information
APAR number
PH19658
Reported component name
IBM BIG SQL
Reported component ID
5737E7400
Reported release
600
Status
CLOSED FIN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-11-28
Closed date
2020-09-09
Last modified date
2020-09-09
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSCRJT","label":"IBM Db2 Big SQL"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"600"}]
Document Information
Modified date:
10 September 2020