Phoenix nanos > 999999999 or < 0

Phoniex execute JDBC inter with Calendar like below:

		Calendar cal = Calendar.getInstance();
		Timestamp timestramp = new Timestamp(new java.util.Date().getTime());
		String sql = "UPSERT INTO \"NanosTest\" (\"ROW_ID\", \"q\") VALUES (?, ?)";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setString(1, "100");
		pstmt.setTimestamp(2, timestramp, cal);

throw java.lang.IllegalArgumentException: nanos > 999999999 or < 0, the completed stacktrace like:

Exception in thread "main" java.lang.IllegalArgumentException: nanos > 999999999 or < 0
	at java.sql.Timestamp.setNanos(
	at org.apache.phoenix.util.DateUtil.getTimestamp(
	at org.apache.phoenix.jdbc.PhoenixPreparedStatement.setTimestamp(

note that, the create table DML like: CREATE TABLE IF NOT EXISTS “NanosTest” (“ROW_ID” VARCHAR PRIMARY KEY, “f”.”q” TIMESTAMP)