[ https://issues.apache.org/jira/browse/PHOENIX-2478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15109348#comment-15109348 ]
James Taylor commented on PHOENIX-2478: --------------------------------------- [~poornachandra] - we're testing use the read/write fence and we're seeing the following exception (see below for a snippet of the tx manager log while index creation is happening). Any insights? When/why does the connection get reset? {code} java.sql.SQLException: ERROR 1077 (44A08): Transaction Failure Exception from canCommit for transaction 1453319824534000000. at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:419) at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145) at org.apache.phoenix.util.TransactionUtil.getTransactionFailureException(TransactionUtil.java:55) at org.apache.phoenix.execute.MutationState.commit(MutationState.java:1151) at org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:517) at org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:514) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixConnection.commit(PhoenixConnection.java:514) at org.apache.phoenix.query.ConnectionQueryServicesImpl.updateData(ConnectionQueryServicesImpl.java:2612) at org.apache.phoenix.schema.MetaDataClient.buildIndex(MetaDataClient.java:1103) at org.apache.phoenix.schema.MetaDataClient.createIndex(MetaDataClient.java:1397) at org.apache.phoenix.compile.CreateIndexCompiler$1.execute(CreateIndexCompiler.java:85) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:336) at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:323) at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:321) at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:242) at org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:172) at org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:177) at org.apache.phoenix.jdbc.PhoenixConnection.executeStatements(PhoenixConnection.java:351) at org.apache.phoenix.util.PhoenixRuntime.executeStatements(PhoenixRuntime.java:293) at org.apache.phoenix.util.PhoenixRuntime.main(PhoenixRuntime.java:238) Caused by: co.cask.tephra.TransactionFailureException: Exception from canCommit for transaction 1453319824534000000. at co.cask.tephra.TransactionContext.checkForConflicts(TransactionContext.java:249) at co.cask.tephra.TransactionContext.finish(TransactionContext.java:114) at org.apache.phoenix.execute.MutationState.commit(MutationState.java:1144) ... 18 more Caused by: java.lang.RuntimeException: java.lang.Exception: Thrift error for co.cask.tephra.distributed.TransactionServiceClient$4@4e628b52: java.net.SocketException: Connection reset at com.google.common.base.Throwables.propagate(Throwables.java:160) at co.cask.tephra.distributed.TransactionServiceClient.canCommit(TransactionServiceClient.java:305) at co.cask.tephra.TransactionContext.checkForConflicts(TransactionContext.java:240) ... 20 more Caused by: java.lang.Exception: Thrift error for co.cask.tephra.distributed.TransactionServiceClient$4@4e628b52: java.net.SocketException: Connection reset {code} Here's the txn manager log while index is created: {code} 2016-01-20 20:24:30,870 ERROR [Thread-10] server.TThreadedSelectorServerWithFix - Read a frame size of 101362407, which is bigger than the maximum allowable buffer size for ALL connections. 2016-01-20 20:24:31,714 ERROR [Thread-11] server.TThreadedSelectorServerWithFix - Read a frame size of 101362407, which is bigger than the maximum allowable buffer size for ALL connections. 2016-01-20 20:24:33,008 ERROR [Thread-10] server.TThreadedSelectorServerWithFix - Read a frame size of 101362407, which is bigger than the maximum allowable buffer size for ALL connections. 2016-01-20 20:24:35,339 ERROR [Thread-11] server.TThreadedSelectorServerWithFix - Read a frame size of 101362407, which is bigger than the maximum allowable buffer size for ALL connections. 2016-01-20 20:24:43,583 ERROR [Thread-10] server.TThreadedSelectorServerWithFix - Read a frame size of 101362407, which is bigger than the maximum allowable buffer size for ALL connections. 2016-01-20 20:24:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=GAUGE, name=committed.size, value=1 2016-01-20 20:24:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=GAUGE, name=committing.size, value=0 2016-01-20 20:24:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=GAUGE, name=inprogress.size, value=2 2016-01-20 20:24:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=GAUGE, name=invalid.size, value=0 2016-01-20 20:24:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=abort.latency, count=2, min=0, max=146, mean=73.0, stddev=73.0, median=146.0, p75=146.0, p95=146.0, p98=146.0, p99=146.0, p999=146.0 2016-01-20 20:24:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=canCommit.latency, count=1, min=0, max=0, mean=0.0, stddev=0.0, median=0.0, p75=0.0, p95=0.0, p98=0.0, p99=0.0, p999=0.0 2016-01-20 20:24:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=commit.latency, count=1, min=1, max=1, mean=1.0, stddev=0.0, median=1.0, p75=1.0, p95=1.0, p98=1.0, p99=1.0, p999=1.0 2016-01-20 20:24:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=start.short.latency, count=5, min=0, max=114, mean=22.45086090321082, stddev=44.57980095686536, median=1.0, p75=1.0, p95=114.0, p98=114.0, p99=114.0, p999=114.0 2016-01-20 20:24:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=wal.append.latency, count=9, min=0, max=146, mean=27.432997340464226, stddev=52.813699432629704, median=0.0, p75=1.0, p95=146.0, p98=146.0, p99=146.0, p999=146.0 2016-01-20 20:24:52,671 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=wal.sync.size, count=8, min=1, max=1, mean=1.0, stddev=0.0, median=1.0, p75=1.0, p95=1.0, p98=1.0, p99=1.0, p999=1.0 2016-01-20 20:24:52,671 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=abort, count=2, mean_rate=0.05466640491254933, m1=0.24261226388505344, m5=0.3619349672143838, m15=0.3868864401928024, rate_unit=events/second 2016-01-20 20:24:52,671 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=canCommit, count=1, mean_rate=0.03180977230916161, m1=0.1318481260400888, m5=0.18400888292586465, m15=0.1945208954232697, rate_unit=events/second 2016-01-20 20:24:52,671 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=commit, count=1, mean_rate=0.031820426582075304, m1=0.1318481260400888, m5=0.18400888292586465, m15=0.1945208954232697, rate_unit=events/second 2016-01-20 20:24:52,671 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=start.short, count=5, mean_rate=0.13612291283274078, m1=0.3850023840227043, m5=0.5489852494589212, m15=0.5824850109429405, rate_unit=events/second 2016-01-20 20:24:52,671 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=wal.append.count, count=9, mean_rate=0.24578134589517642, m1=0.6486986361028818, m5=0.9170030153106505, m15=0.9715268017894798, rate_unit=events/second 2016-01-20 20:25:12,456 ERROR [Thread-11] server.TThreadedSelectorServerWithFix - Read a frame size of 101362407, which is bigger than the maximum allowable buffer size for ALL connections. 2016-01-20 20:25:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=GAUGE, name=committed.size, value=1 2016-01-20 20:25:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=GAUGE, name=committing.size, value=0 2016-01-20 20:25:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=GAUGE, name=inprogress.size, value=1 2016-01-20 20:25:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=GAUGE, name=invalid.size, value=0 2016-01-20 20:25:52,668 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=abort.latency, count=3, min=0, max=146, mean=29.86244283644055, stddev=58.148748179949145, median=1.0, p75=1.0, p95=146.0, p98=146.0, p99=146.0, p999=146.0 2016-01-20 20:25:52,669 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=canCommit.latency, count=1, min=0, max=0, mean=0.0, stddev=0.0, median=0.0, p75=0.0, p95=0.0, p98=0.0, p99=0.0, p999=0.0 2016-01-20 20:25:52,669 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=commit.latency, count=1, min=1, max=1, mean=1.0, stddev=0.0, median=1.0, p75=1.0, p95=1.0, p98=1.0, p99=1.0, p999=1.0 2016-01-20 20:25:52,669 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=start.short.latency, count=5, min=0, max=114, mean=22.45086090321082, stddev=44.57980095686536, median=1.0, p75=1.0, p95=114.0, p98=114.0, p99=114.0, p999=114.0 2016-01-20 20:25:52,669 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=wal.append.latency, count=10, min=0, max=146, mean=21.041676728076403, stddev=47.359781121547904, median=1.0, p75=1.0, p95=146.0, p98=146.0, p99=146.0, p999=146.0 2016-01-20 20:25:52,669 INFO [-reporter-1-thread-1] tephra-metrics - type=HISTOGRAM, name=wal.sync.size, count=9, min=1, max=1, mean=0.9999999999999999, stddev=1.1102230246251564E-16, median=1.0, p75=1.0, p95=1.0, p98=1.0, p99=1.0, p999=1.0 2016-01-20 20:25:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=abort, count=3, mean_rate=0.031060934789005137, m1=0.1007102001340411, m5=0.299419802353146, m15=0.3630186462880341, rate_unit=events/second 2016-01-20 20:25:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=canCommit, count=1, mean_rate=0.010936656895649016, m1=0.04850421492712977, m5=0.15065373129093135, m15=0.1819756564030736, rate_unit=events/second 2016-01-20 20:25:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=commit, count=1, mean_rate=0.010937914614283327, m1=0.04850421492712977, m5=0.15065373129093135, m15=0.1819756564030736, rate_unit=events/second 2016-01-20 20:25:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=start.short, count=5, mean_rate=0.051690125215490865, m1=0.14163446188394554, m5=0.4494711067182062, m15=0.544918796413339, rate_unit=events/second 2016-01-20 20:25:52,670 INFO [-reporter-1-thread-1] tephra-metrics - type=METER, name=wal.append.count, count=10, mean_rate=0.10350177487128351, m1=0.25010102781287424, m5=0.7538710833805282, m15=0.9099537882931363, rate_unit=events/second {code} > Rows committed in transaction overlapping index creation are not populated > -------------------------------------------------------------------------- > > Key: PHOENIX-2478 > URL: https://issues.apache.org/jira/browse/PHOENIX-2478 > Project: Phoenix > Issue Type: Sub-task > Reporter: James Taylor > Assignee: James Taylor > Fix For: 4.7.0 > > Attachments: PHOENIX-2478.patch, PHOENIX-2478_addendum.patch, > PHOENIX-2478_addendum2.patch, PHOENIX-2478_addendum3.patch, > PHOENIX-2478_addendum4.patch, PHOENIX-2478_v2.patch, PHOENIX-2478_v3.patch, > PHOENIX-2478_v4.patch > > > For a reproducible case, see IndexIT.testCreateIndexAfterUpsertStarted() and > the associated FIXME comments for PHOENIX-2446. > The case that is failing is when a commit starts before an index exists, but > commits after the index build is completed. For transactional data, this is > problematic because the index gets a timestamp after the commit of the data > table mutation and thus these mutations won't be seen during the commit. > Also, when the index is being built, the data hasn't yet been committed and > thus won't be part of the initial index build. -- This message was sent by Atlassian JIRA (v6.3.4#6332)