Looking at the exception java.lang.RuntimeException: org.apache.phoenix.exception.PhoenixIOException: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=36, exceptions:
Thu Apr 09 16:49:33 CEST 2015, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=62366 it looks like it is *not* coming from the Phoenix phoenix.query.timeoutMs setting. You would need to do two things: 1) Update hbase.rpc.timeout : 1200000 in client side hbase-site.xml 2) Make sure the class path you are using on the client side to connect to the hbase cluster is picking up hbase-site.xml. Otherwise your overrides won't work. On Thu, Apr 9, 2015 at 11:13 AM, Thomas D'Silva <[email protected]> wrote: > The phoenix.query.timeoutMs property should be set on the > hbase-site.xml of the client (in the phoenix/bin) directory, not the > server hbase-site.xml. See > https://github.com/forcedotcom/phoenix/wiki/Tuning . Did you try just > setting it on the client side config before starting sqlline and > running the query? > > Thanks, > Thomas > > On Thu, Apr 9, 2015 at 9:29 AM, PERNOLLET Martin > <[email protected]> wrote: > > I have to mention I also tried changing these properties on HBase side : > > > > > > > > hbase.regionserver.lease.period : 120000 > > > > hbase.rpc.timeout : 1200000 > > > > > > > > I am running on Hortonworks 2.2.0 > > > > Phoenix 4.2.0 > > > > HBase 0.98.4 > > > > > > > > From: PERNOLLET Martin (EXT) ItecCttDir > > Sent: Thursday 9 April 2015 17:52 > > To: '[email protected]' > > Subject: Socket timeout while counting number of rows of a table > > > > > > > > Hi, > > > > > > > > When asking to Phoenix to count the lines of a HBase table (select > > count("UUID") from "bulk_1month") it fails after one minute : > > > > > > > > java.lang.RuntimeException: > org.apache.phoenix.exception.PhoenixIOException: > > org.apache.phoenix.exception.PhoenixIOException: Failed after > attempts=36, > > exceptions: > > > > Thu Apr 09 16:49:33 CEST 2015, null, java.net.SocketTimeoutException: > > callTimeout=60000, callDuration=62366: row '' on table 'bulk_1month' at > > region=bulk_1month,,1428582098717.2b2c2f1b5eab43e15b5789c2aa0dfc80., > > hostname=reid,60020,1428590222546, seqNum=37 > > > > > > > > at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2440) > > > > at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2074) > > > > at sqlline.SqlLine.print(SqlLine.java:1735) > > > > at sqlline.SqlLine$Commands.execute(SqlLine.java:3683) > > > > at sqlline.SqlLine$Commands.sql(SqlLine.java:3584) > > > > at sqlline.SqlLine.dispatch(SqlLine.java:821) > > > > at sqlline.SqlLine.begin(SqlLine.java:699) > > > > at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:441) > > > > at sqlline.SqlLine.main(SqlLine.java:424) > > > > > > > > A post (https://github.com/forcedotcom/phoenix/issues/730) suggested to > edit > > timeout values so I added the following properties to HBase configuration > > via Ambari. > > > > > > > > <property> > > > > <name>phoenix.query.keepAliveMs</name> > > > > <!—changed to timeout from 1 min to 10 min --> > > > > <value>600000</value> > > > > </property> > > > > > > > > <property> > > > > <name>phoenix.query.timeoutMs</name> > > > > <!—changed to timeout from 60 sec to 2h --> > > > > <value>7200000</value> > > > > </property> > > > > > > > > And once HBase restarted I copied the updated HBase conf to Phoenix bin/ > > directory : > > > > > > > > cp /etc/hbase/conf/hbase-site.xml /usr/hdp/2.2.0.0-2041/phoenix/bin > > > > > > > > It did not change anything to the actual timeout. > > > > > > > > Did I miss a property or am I wrong while copying the hbase settings? > > > > > > > > Thanks for your help! > > > > > > > > > > > > ************************************************************************* > > This message and any attachments (the "message") are confidential, > intended > > solely for the addressee(s), and may contain legally privileged > information. > > Any unauthorised use or dissemination is prohibited. E-mails are > susceptible > > to alteration. > > Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall > be > > liable for the message if altered, changed or > > falsified. > > Please visit http://swapdisclosure.sgcib.com for important information > with > > respect to derivative products. > > ************ > > Ce message et toutes les pieces jointes (ci-apres le "message") sont > > confidentiels et susceptibles de contenir des informations couvertes > > par le secret professionnel. > > Ce message est etabli a l'intention exclusive de ses destinataires. Toute > > utilisation ou diffusion non autorisee est interdite. > > Tout message electronique est susceptible d'alteration. > > La SOCIETE GENERALE et ses filiales declinent toute responsabilite au > titre > > de ce message s'il a ete altere, deforme ou falsifie. > > Veuillez consulter le site http://swapdisclosure.sgcib.com afin de > > recueillir d'importantes informations sur les produits derives. > > ************************************************************************* >
