You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Alex Batyrshin (JIRA)" <ji...@apache.org> on 2018/09/10 16:37:00 UTC

[jira] [Comment Edited] (PHOENIX-4671) Fix minor size accounting bug for MutationSize

    [ https://issues.apache.org/jira/browse/PHOENIX-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16609478#comment-16609478 ] 

Alex Batyrshin edited comment on PHOENIX-4671 at 9/10/18 4:36 PM:
------------------------------------------------------------------

IsĀ it really fixed?
 4.14:
{code:java}
0: jdbc:phoenix:> !autocommit on
Autocommit status: true
0: jdbc:phoenix:>
0: jdbc:phoenix:> UPSERT INTO TABLE_V2 ("c", "id", "gt")
. . . . . . . . > SELECT "c", "id", "gt" FROM TABLE;
Error: ERROR 730 (LIM02): MutationState size is bigger than maximum allowed number of bytes (state=LIM02,code=730)
java.sql.SQLException: ERROR 730 (LIM02): MutationState size is bigger than maximum allowed number of bytes
at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:494)
at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:150)
at org.apache.phoenix.execute.MutationState.throwIfTooBig(MutationState.java:377)
at org.apache.phoenix.execute.MutationState.join(MutationState.java:478)
at org.apache.phoenix.compile.MutatingParallelIteratorFactory$1.close(MutatingParallelIteratorFactory.java:98)
at org.apache.phoenix.iterate.ConcatResultIterator.currentIterator(ConcatResultIterator.java:104)
at org.apache.phoenix.iterate.ConcatResultIterator.peek(ConcatResultIterator.java:112)
at org.apache.phoenix.iterate.ConcatResultIterator.currentIterator(ConcatResultIterator.java:100)
at org.apache.phoenix.iterate.ConcatResultIterator.next(ConcatResultIterator.java:117)
at org.apache.phoenix.iterate.DelegateResultIterator.next(DelegateResultIterator.java:44)
at org.apache.phoenix.trace.TracingIterator.next(TracingIterator.java:56)
at org.apache.phoenix.compile.UpsertCompiler$ClientUpsertSelectMutationPlan.execute(UpsertCompiler.java:1301)
at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:408)
at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:391)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:389)
at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:378)
at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1825)
at sqlline.Commands.execute(Commands.java:822)
at sqlline.Commands.sql(Commands.java:732)
at sqlline.SqlLine.dispatch(SqlLine.java:813)
at sqlline.SqlLine.begin(SqlLine.java:686)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:291){code}


was (Author: 0x62ash):
Is this really fixed?
4.14:


{code:java}
0: jdbc:phoenix:> !autocommit on
Autocommit status: true
0: jdbc:phoenix:>
0: jdbc:phoenix:> UPSERT INTO TABLE_V2 ("c", "id", "gt")
. . . . . . . . > SELECT "c", "id", "gt" FROM TABLE;
Error: ERROR 730 (LIM02): MutationState size is bigger than maximum allowed number of bytes (state=LIM02,code=730)
java.sql.SQLException: ERROR 730 (LIM02): MutationState size is bigger than maximum allowed number of bytes
at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:494)
at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:150)
at org.apache.phoenix.execute.MutationState.throwIfTooBig(MutationState.java:377)
at org.apache.phoenix.execute.MutationState.join(MutationState.java:478)
at org.apache.phoenix.compile.MutatingParallelIteratorFactory$1.close(MutatingParallelIteratorFactory.java:98)
at org.apache.phoenix.iterate.ConcatResultIterator.currentIterator(ConcatResultIterator.java:104)
at org.apache.phoenix.iterate.ConcatResultIterator.peek(ConcatResultIterator.java:112)
at org.apache.phoenix.iterate.ConcatResultIterator.currentIterator(ConcatResultIterator.java:100)
at org.apache.phoenix.iterate.ConcatResultIterator.next(ConcatResultIterator.java:117)
at org.apache.phoenix.iterate.DelegateResultIterator.next(DelegateResultIterator.java:44)
at org.apache.phoenix.trace.TracingIterator.next(TracingIterator.java:56)
at org.apache.phoenix.compile.UpsertCompiler$ClientUpsertSelectMutationPlan.execute(UpsertCompiler.java:1301)
at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:408)
at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:391)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:389)
at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:378)
at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1825)
at sqlline.Commands.execute(Commands.java:822)
at sqlline.Commands.sql(Commands.java:732)
at sqlline.SqlLine.dispatch(SqlLine.java:813)
at sqlline.SqlLine.begin(SqlLine.java:686)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:291){code}

> Fix minor size accounting bug for MutationSize
> ----------------------------------------------
>
>                 Key: PHOENIX-4671
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4671
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>            Priority: Minor
>             Fix For: 4.14.0, 5.0.0
>
>         Attachments: 4671-v2.txt, 4671.txt
>
>
> Just ran into a bug where UPSERT INTO table ... SELECT ... FROM table would fail due to "Error: ERROR 730 (LIM02): MutationState size is bigger than maximum allowed number of bytes (state=LIM02,code=730)" even with auto commit on.
> Ran it through a debugger, just a simple accounting bug.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)