[ https://issues.apache.org/jira/browse/OMID-292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17844567#comment-17844567 ]
Nikita Pande commented on OMID-292: ----------------------------------- I have observed the issue in the hbase cluster (2.6.0) with phoenix (5.1.4) and phoenix-omid(1.1.1) on transactional table with jdk17. I have identified the issue and will be taking that up in the subsequent tasks. * Omid is added as shaded jars in phoenix. Fixed this in my environment (now map reduce job started) and went ahead and tried csv bulkload, got following error. {code:java} 2024-05-08 07:06:18,436 INFO [main] mapreduce.Job: map 0% reduce 0% 2024-05-08 07:06:28,470 INFO [main] mapreduce.Job: Task Id : attempt_1715115365998_0006_m_000000_2, Status : FAILED Error: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLException: ERROR 1077 (44A08): Transaction Failure Could not get new timestamp at org.apache.phoenix.mapreduce.FormatToBytesWritableMapper.map(FormatToBytesWritableMapper.java:206) at org.apache.phoenix.mapreduce.FormatToBytesWritableMapper.map(FormatToBytesWritableMapper.java:77) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:800) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:348) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:178) at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) at java.base/javax.security.auth.Subject.doAs(Subject.java:439) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1899) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:172) Caused by: java.lang.RuntimeException: java.sql.SQLException: ERROR 1077 (44A08): Transaction Failure Could not get new timestamp at org.apache.phoenix.thirdparty.com.google.common.base.Throwables.propagate(Throwables.java:231) at org.apache.phoenix.mapreduce.FormatToBytesWritableMapper$MapperUpsertListener.errorOnRecord(FormatToBytesWritableMapper.java:408) at org.apache.phoenix.util.csv.CsvUpsertExecutor.execute(CsvUpsertExecutor.java:103) at org.apache.phoenix.util.csv.CsvUpsertExecutor.execute(CsvUpsertExecutor.java:55) at org.apache.phoenix.util.UpsertExecutor.execute(UpsertExecutor.java:133) at org.apache.phoenix.mapreduce.FormatToBytesWritableMapper.map(FormatToBytesWritableMapper.java:174) ... 9 more Caused by: java.sql.SQLException: ERROR 1077 (44A08): Transaction Failure Could not get new timestamp at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:623) at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:217) at org.apache.phoenix.transaction.OmidTransactionContext.begin(OmidTransactionContext.java:114) at org.apache.phoenix.execute.MutationState.startTransaction(MutationState.java:404) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:442) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:430) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:429) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:417) at org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:182) at org.apache.phoenix.util.csv.CsvUpsertExecutor.execute(CsvUpsertExecutor.java:95) ... 12 more Caused by: org.apache.phoenix.shaded.org.apache.omid.transaction.TransactionException: Could not get new timestamp at org.apache.phoenix.shaded.org.apache.omid.transaction.AbstractTransactionManager.begin(AbstractTransactionManager.java:159) at org.apache.phoenix.transaction.OmidTransactionContext.begin(OmidTransactionContext.java:109) ... 20 more Caused by: java.util.concurrent.ExecutionException: org.apache.phoenix.shaded.org.apache.omid.tso.client.ConnectionException at org.apache.phoenix.thirdparty.com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:592) at org.apache.phoenix.thirdparty.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:571) at org.apache.phoenix.shaded.org.apache.omid.tso.client.ForwardingTSOFuture.get(ForwardingTSOFuture.java:51) at org.apache.phoenix.shaded.org.apache.omid.transaction.AbstractTransactionManager.begin(AbstractTransactionManager.java:144) ... 21 more Caused by: org.apache.phoenix.shaded.org.apache.omid.tso.client.ConnectionException at org.apache.phoenix.shaded.org.apache.omid.tso.client.TSOClient$DisconnectedState$1.operationComplete(TSOClient.java:586) at org.apache.phoenix.shaded.org.apache.omid.tso.client.TSOClient$DisconnectedState$1.operationComplete(TSOClient.java:577) at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590) at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583) at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559) at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492) at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636) at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629) at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:321) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:337) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:833){code} * Also phoenix csv bulkload doesnt create shadow cell, so scanning on transactional table is not giving tables. Otherwise transaction cant be used through OMID. Had discussed with Rajesh offline to work on this to make this shadow cells gets created with Bulkload also. > Phoenix CSV BulkloadTool fails with "Global tag is not allowed" error on > transactional table > -------------------------------------------------------------------------------------------- > > Key: OMID-292 > URL: https://issues.apache.org/jira/browse/OMID-292 > Project: Phoenix Omid > Issue Type: Bug > Reporter: Nikita Pande > Priority: Major > > I get the following error when I invoke CSV Bulkload for transactional table > CLI: > hbase org.apache.phoenix.mapreduce.CsvBulkLoadTool --table <Transactional > table> --input <csv filr> > {code:java} > org.apache.phoenix.mapreduce.CsvBulkLoadTool.main(CsvBulkLoadTool.java:117) > Exception in thread "main" Global tag is not allowed: > tag:yaml.org,2002:org.apache.omid.tso.client.OmidClientConfiguration > in 'string', line 5, column 26: > omidClientConfiguration: !!org.apache.omid.tso.client.Omi ... > ^ > at > org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.java:259) > at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:207) > at > org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:369) > at > org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:348) > at > org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:323) > at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:209) > at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:131) > at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:157) > at > org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:178) > at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:493) > at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:473) > at > org.apache.phoenix.shaded.org.apache.omid.YAMLUtils.loadStringAsMap(YAMLUtils.java:87) > at > org.apache.phoenix.shaded.org.apache.omid.YAMLUtils.loadAsMap(YAMLUtils.java:75) > at > org.apache.phoenix.shaded.org.apache.omid.YAMLUtils.loadSettings(YAMLUtils.java:62) > at > org.apache.phoenix.shaded.org.apache.omid.YAMLUtils.loadSettings(YAMLUtils.java:45) > at > org.apache.phoenix.shaded.org.apache.omid.transaction.HBaseOmidClientConfiguration.<init>(HBaseOmidClientConfiguration.java:71) > at > org.apache.phoenix.shaded.org.apache.omid.transaction.HBaseOmidClientConfiguration.<init>(HBaseOmidClientConfiguration.java:58) > at > org.apache.phoenix.transaction.OmidTransactionProvider.getTransactionClient(OmidTransactionProvider.java:72) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.initTransactionClient(ConnectionQueryServicesImpl.java:5907) > at > org.apache.phoenix.transaction.OmidTransactionContext.<init>(OmidTransactionContext.java:60) > at > org.apache.phoenix.transaction.OmidTransactionProvider.getTransactionContext(OmidTransactionProvider.java:65) > at > org.apache.phoenix.execute.MutationState.startTransaction(MutationState.java:390) > at > org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:613) > at > org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:547) > at > org.apache.phoenix.compile.FromCompiler$BaseColumnResolver.createTableRef(FromCompiler.java:777) > at > org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:447) > at > org.apache.phoenix.compile.FromCompiler.getResolverForQuery(FromCompiler.java:232) > at > org.apache.phoenix.compile.FromCompiler.getResolverForQuery(FromCompiler.java:210) > at org.apache.phoenix.util.ParseNodeUtil.rewrite(ParseNodeUtil.java:177) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:537) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:510) > at > org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:314) > at > org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:303) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:302) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:295) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:2024) > at > org.apache.phoenix.mapreduce.AbstractBulkLoadTool.loadData(AbstractBulkLoadTool.java:238) > at > org.apache.phoenix.mapreduce.AbstractBulkLoadTool.run(AbstractBulkLoadTool.java:186) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:82) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:97) > at > org.apache.phoenix.mapreduce.CsvBulkLoadTool.main(CsvBulkLoadTool.java:117) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)