phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <jamestay...@apache.org>
Subject Re: java.util.ConcurrentModificationException at java.util.HashMap while doing Upserts
Date Sun, 02 Oct 2016 22:50:54 GMT
Hi Anil,
Make sure you're not sharing the same Connection between multiple threads
as it's not thread safe.
Thanks,
James

On Sunday, October 2, 2016, anil gupta <anilgupta84@gmail.com> wrote:

> Hi,
>
> We are running HDP2.3.4(HBase 1.1 and Phoenix 4.4). I have a MapReduce job
> thats writing data to a very simple Phoenix table. We intermittently get
> and due to this our job fails:
> java.util.ConcurrentModificationException at java.util.HashMap$
> HashIterator.remove(HashMap.java:944) at org.apache.phoenix.execute.
> MutationState.commit(MutationState.java:472) at org.apache.phoenix.jdbc.
> PhoenixConnection$3.call(PhoenixConnection.java:461) at
> org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:458)
> at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at
> org.apache.phoenix.jdbc.PhoenixConnection.commit(PhoenixConnection.java:458)
> at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:308)
> at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:297)
> at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) at
> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:295)
> at org.apache.phoenix.jdbc.PhoenixPreparedStatement.executeUpdate(
> PhoenixPreparedStatement.java:200)
>
> We are running these upserts as part of code in Mapper that executes as
> part of ChainReducer. One problem i noticed that we were instantiating
> PreparedStatment everytime(conn == Connection object) we were doing an
> upsert :
>
> conn.prepareStatement(TcErrorWritable.buildUpsertNewRowStatement(TC_DOWNLOAD_ERRORS_TABLE));
>
> This is the only line that seems awkward to me in that code. We have other
> projects writing to Phoenix at a much higher throughput and volume of data
> but we never ran into this problem. Can anyone provide me more details on
> why we are getting ConcurrentModificationException while doing upserts?
>
> --
> Thanks & Regards,
> Anil Gupta
>

Mime
View raw message