Hi Ashish, Is phoenix.transactions.enabled property set in hbase-site.xml on the client side? Not setting that could be one of the reasons for the NPE.
Thanks, Poorna. On Thu, Nov 3, 2016 at 7:02 PM, ashish tapdiya <[email protected]> wrote: > Hi Poorna, > > jps showed that process was running however logs had error related to > tx.data.dir not setup correctly. I added data.tx.snapshot.dir to client as > well and then logs didn't show any error and I was able to create schema. > > However, now when I try to populate a table created with > transactional=true, it fails > > 1) Error thorugh mapreduce bulk loader: > Error: java.lang.RuntimeException: java.lang.NullPointerException > at org.apache.phoenix.mapreduce.FormatToBytesWritableMapper.map( > FormatToBytesWritableMapper.java:202) > at org.apache.phoenix.mapreduce.FormatToBytesWritableMapper.map( > FormatToBytesWritableMapper.java:74) > at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145) > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at org.apache.hadoop.security.UserGroupInformation.doAs( > UserGroupInformation.java:1692) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: java.lang.NullPointerException > at org.apache.tephra.TransactionContext.start( > TransactionContext.java:91) > at org.apache.phoenix.execute.MutationState.startTransaction( > MutationState.java:422) > at org.apache.phoenix.jdbc.PhoenixStatement$2.call( > PhoenixStatement.java:339) > at org.apache.phoenix.jdbc.PhoenixStatement$2.call( > PhoenixStatement.java:332) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation( > PhoenixStatement.java:331) > at org.apache.phoenix.jdbc.PhoenixStatement.execute( > PhoenixStatement.java:250) > at org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute( > PhoenixPreparedStatement.java:172) > at org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute( > PhoenixPreparedStatement.java:177) > at org.apache.phoenix.util.csv.CsvUpsertExecutor.execute( > CsvUpsertExecutor.java:86) > at org.apache.phoenix.util.csv.CsvUpsertExecutor.execute( > CsvUpsertExecutor.java:46) > at org.apache.phoenix.util.UpsertExecutor.execute( > UpsertExecutor.java:133) > at org.apache.phoenix.mapreduce.FormatToBytesWritableMapper.map( > FormatToBytesWritableMapper.java:171) > > > 2) Error through psql.py > ERROR util.CSVCommonsLoader: Error upserting record > > Thanks, > Ashish > > On Thu, Nov 3, 2016 at 8:25 PM, Poorna Chandra <[email protected]> wrote: > >> Hi Ashish, >> >> Looks like transaction manager may not be running. Is the transaction >> manager running? If so, can you look into the transaction manager log to >> see if there are any errors? >> >> Thanks, >> Poorna. >> >> >> On Thu, Nov 3, 2016 at 10:20 AM, ashish tapdiya <[email protected]> >> wrote: >> >>> Hi, >>> >>> I am trying to create transactional tables and during table creation >>> following error is thrown (phoenix version is 4.8.1): >>> >>> >>> java.lang.RuntimeException: java.lang.Exception: Thrift error for >>> org.apache.tephra.distributed.TransactionServiceClient$2@6ea02a8d: >>> Unable to discover tx service. >>> at com.google.common.base.Throwables.propagate(Throwables.java: >>> 160) >>> at org.apache.tephra.distributed.TransactionServiceClient.start >>> Short(TransactionServiceClient.java:268) >>> at org.apache.tephra.TransactionContext.start(TransactionContex >>> t.java:91) >>> at org.apache.phoenix.execute.MutationState.startTransaction(Mu >>> tationState.java:422) >>> at org.apache.phoenix.util.TransactionUtil.getTableTimestamp(Tr >>> ansactionUtil.java:99) >>> at org.apache.phoenix.schema.MetaDataClient.createTableInternal >>> (MetaDataClient.java:1891) >>> at org.apache.phoenix.schema.MetaDataClient.createTable(MetaDat >>> aClient.java:940) >>> at org.apache.phoenix.compile.CreateTableCompiler$2.execute(Cre >>> ateTableCompiler.java:193) >>> at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixState >>> ment.java:344) >>> at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixState >>> ment.java:332) >>> at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) >>> at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(Pho >>> enixStatement.java:331) >>> at org.apache.phoenix.jdbc.PhoenixPreparedStatement.executeUpda >>> te(PhoenixPreparedStatement.java:199) >>> at Populate_Transact.createTables(Populate_Transact.java:75) >>> at Populate_Transact.main(Populate_Transact.java:30) >>> Caused by: java.lang.Exception: Thrift error for >>> org.apache.tephra.distributed.TransactionServiceClient$2@6ea02a8d: >>> Unable to discover tx service. >>> at org.apache.tephra.distributed.TransactionServiceClient.execu >>> te(TransactionServiceClient.java:227) >>> at org.apache.tephra.distributed.TransactionServiceClient.execu >>> te(TransactionServiceClient.java:185) >>> at org.apache.tephra.distributed.TransactionServiceClient.start >>> Short(TransactionServiceClient.java:259) >>> ... 13 more >>> Caused by: org.apache.phoenix.shaded.org.apache.thrift.TException: >>> Unable to discover tx service. >>> at org.apache.tephra.distributed.AbstractClientProvider.newClie >>> nt(AbstractClientProvider.java:106) >>> at org.apache.tephra.distributed.AbstractClientProvider.newClie >>> nt(AbstractClientProvider.java:85) >>> at org.apache.tephra.distributed.PooledClientProvider$TxClientP >>> ool.create(PooledClientProvider.java:48) >>> at org.apache.tephra.distributed.PooledClientProvider$TxClientP >>> ool.create(PooledClientProvider.java:41) >>> at org.apache.tephra.distributed.ElasticPool.getOrCreate(Elasti >>> cPool.java:138) >>> at org.apache.tephra.distributed.ElasticPool.obtain(ElasticPool >>> .java:125) >>> at org.apache.tephra.distributed.PooledClientProvider.getClosea >>> bleClient(PooledClientProvider.java:101) >>> at org.apache.tephra.distributed.TransactionServiceClient.execu >>> te(TransactionServiceClient.java:214) >>> >>> Thanks, >>> Ashish >>> >> >> >
