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
>>
>
>