[ https://issues.apache.org/jira/browse/PHOENIX-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14323558#comment-14323558 ]
James Taylor commented on PHOENIX-1577: --------------------------------------- [~samarthjain] - would you mind taking a look a this? [~jleech], [~ksoong] sounds like there's a bug here, but the rationale for doing this is in the following comment. Also, thanks for the code to repro, but best for us is a pull request with a unit test in it. {code} /** * Utility function to work around the weirdness of the {@link Timestamp} constructor. * This method takes the milli-seconds that spills over to the nanos part as part of * constructing the {@link Timestamp} object. * If we just set the nanos part of timestamp to the nanos passed in param, we * end up losing the sub-second part of timestamp. */ public static Timestamp getTimestamp(long millis, int nanos) { Timestamp ts = new Timestamp(millis); ts.setNanos(ts.getNanos() + nanos); return ts; } {code} > java.lang.IllegalArgumentException: nanos > 999999999 or < 0 while use > Calendar > ------------------------------------------------------------------------------- > > Key: PHOENIX-1577 > URL: https://issues.apache.org/jira/browse/PHOENIX-1577 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.2 > Reporter: Kylin Soong > Assignee: Samarth Jain > > I use the link [1] code, there always nanos > 999999999 or < 0 error throw. > If execute insert, the error looks like: > ~~~ > Exception in thread "main" java.lang.IllegalArgumentException: nanos > > 999999999 or < 0 > at java.sql.Timestamp.setNanos(Timestamp.java:386) > at org.apache.phoenix.util.DateUtil.getTimestamp(DateUtil.java:142) > at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.setTimestamp(PhoenixPreparedStatement.java:489) > ~~~ > and select the error looks > ~~~ > xception in thread "main" java.lang.IllegalArgumentException: nanos > > 999999999 or < 0 > at java.sql.Timestamp.setNanos(Timestamp.java:386) > at org.apache.phoenix.util.DateUtil.getTimestamp(DateUtil.java:142) > at > org.apache.phoenix.jdbc.PhoenixResultSet.getTimestamp(PhoenixResultSet.java:638) > ~~~ > Does this can be a bug? > [1] > https://github.com/kylinsoong/data/blob/master/phoenix-quickstart/src/test/java/org/apache/phoenix/examples/BugReproduce.java -- This message was sent by Atlassian JIRA (v6.3.4#6332)