You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hawq.apache.org by Gagan Brahmi <ga...@gmail.com> on 2017/02/10 17:21:50 UTC

HAWQ JDBC Issues

Hi All,

I have a HAWQ cluster which is running HDB-2.0.1.0. This was upgraded from
HDB-2.0.0.0 a few days back.

Post upgrade there are some issues reported around the JDBC connection
using postgres-9.2 driver. The connection was working fine previously using
the same driver.

If the earlier version of drivers (postgres JDBC 9.1 and below) is used the
connection and the query execution is fine. But those drivers do not
support "setQueryTimeout()" function. The query is executed through
Websphere Application Server requires this function to be working.

The following is the error message reported when trying to run any query
with the HAWQ cluster using postgres-9.2 driver.

-------

org.postgresql.util.PSQLException: ERROR: Error dispatching to seg0
segment-node-1.gagan.com:40000: connection pointer is NULL
Detail:
Master unable to connect to seg0 segment-node-1.gagan.com:40000: FATAL:
invalid command-line arguments for server process
HINT: Try "postgres --help" for more information.

------

While verifying the logs on the segment there wasn't any useful information
except for the following error:

------

"FATAL","42601","invalid command-line arguments for server process",,"Try
""postgres --help"" for more information.",,,,,0,,"postgres.c",4326,

------

On the HAWQ master the following error is reported:

------

2017-02-10 11:42:29.308665
HKT,"demouser","testdb",p106215,th-691878144,"192.168.0.16","36170",2017-02-10
11:42:29 HKT,857614,con52,cmd2,seg-1,,,x857614,sx1,"LOG","00000","Master
unable to connect to seg0 segment-node-1.gagan.com:40000 : FATAL:  invalid
command-line arguments for server process
HINT:  Try ""postgres --help"" for more information.

Connection option: hostaddr=192.168.0.11 port=40000 dbname='testdb'
user='demouser' connect_timeout=600 dboid=16571 dbdtsoid=16385
bootstrap_user=gpadmin encoding=6 options=' -c client_min_messages=notice
-c commit_delay=0 -c commit_siblings=5 -c DateStyle=ISO,\\ MDY -c
default_statement_mem=128000 -c enable_secure_filesystem=true -c
explain_memory_verbosity=suppress -c filesystem_support_truncate=true -c
force_bitmap_table_scan=false -c gp_cancel_query_delay_time=0 -c
gp_cancel_query_print_log=false -c gp_crash_handler_async=true -c
gp_dbg_flags=0 -c gp_debug_linger=0 -c
gp_disable_catalog_access_on_segment=false -c gp_disable_tuple_hints=true
-c gp_dump_memory_usage=false -c gp_eager_hashtable_release=true -c
gp_enable_mk_sort=true -c gp_enable_motion_mk_sort=true -c
gp_force_use_default_temporary_directory=false -c
gp_gpperfmon_send_interval=1 -c gp_hashagg_compress_spill_files=none -c
gp_hashagg_default_nbatches=32 -c gp_hashagg_groups_per_bucket=5 -c
gp_hashjoin_bloomfilter=1 -c gp_hashjoin_metadata_memory_percent=20 -c
gp_hashjoin_tuples_per_bucket=5 -c gp_interconnect_default_rtt=20 -c
gp_interconnect_elide_setup=true -c gp_interconnect_fc_method=loss -c
gp_interconnect_full_crc=false -c gp_interconnect_log_stats=false -c
gp_interconnect_min_retries_before_timeout=100 -c
gp_interconnect_min_rto=20 -c gp_interconnect_queue_depth=4 -c
gp_interconnect_setup_timeout=7200 -c gp_interconnect_snd_queue_depth=2 -c
gp_interconnect_timer_checking_period=20 -c gp_interconnect_timer_period=5
-c gp_interconnect_transmit_timeout=3600 -c gp_interconnect_type=udp -c
gp_log_interconnect=terse -c gp_log_stack_trace_lines=true -c
gp_mapreduce_define=false -c gp_motion_slice_noop=0 -c
gp_parquet_insert_sort=true -c gp_partitioning_dynamic_selection_log=false
-c gp_perfmon_print_packet_info=false -c
gp_plpgsql_clear_cache_always=false -c gp_query_co",,,,,,,0,,,,
2017-02-10 11:42:29.308925
HKT,"demouser","demodb",p106215,th-691878144,"192.168.0.16","36170",2017-02-10
11:42:29 HKT,857614,con52,cmd2,seg-1,,,x857614,sx1,"LOG","00000","function
executormgr_is_dispatchable meets error, connection is bad.",,,,,,,0,,,,
2017-02-10 11:42:29.308997
HKT,"demouser","tested",p106215,th-691878144,"192.168.0.16","36170",2017-02-10
11:42:29 HKT,857614,con52,cmd2,seg-1,,,x857614,sx1,"LOG","00000","function
executormgr_dispatch_and_run meets error.",,,,,,,0,,,,
2017-02-10 11:42:29.309020
HKT,"demouser","demodb",p106215,th-691878144,"192.168.0.16","36170",2017-02-10
11:42:29
HKT,857614,con52,cmd2,seg-1,,,x857614,sx1,"LOG","00000","+++++++++dispmgr_thread_func_run
meets dispatch_and_run problem when dispatching, entering
error_cleanup",,,,,,,0,,,,
2017-02-10 11:42:29.559285
HKT,"demouser","demodb",p106215,th-160114400,"192.168.0.16","36170",2017-02-10
11:42:29
HKT,857614,con52,cmd2,seg-1,,,x857614,sx1,"LOG","00000","Dispatcher th


query:
"select ....

------

I am not sure if this is related to the GUC "DateStyle=ISO,\\ MDY" which
seems to be a documented behavior in
https://issues.apache.org/jira/browse/HAWQ-980. However, HDB-2.0.1.0
release notes mentions that this behavior is taken care of but does not
seems so.

So if I test with just this GUC I get the same error message message from
the CLI:

------

[gpadmin@hdp-hdb-201 ~]$ PGOPTIONS='-c DateStyle=ISO, MDY' psql postgres
psql: FATAL:  invalid value for parameter "DateStyle": "ISO,"
[gpadmin@hdp-hdb-201 ~]$ PGOPTIONS='-c DateStyle=ISO,\\ MDY' psql postgres
psql: FATAL:  invalid value for parameter "DateStyle": "ISO,\"
[gpadmin@hdp-hdb-201 ~]$ PGOPTIONS='-c DateStyle=ISO,MDY' psql postgres
psql (8.2.15)
Type "help" for help.

postgres=# SHOW DateStyle;
 DateStyle
-----------
 ISO, MDY
(1 row)

------

Tried the JDBC driver provided by Pivotal and it reports a different error
and hasn't worked. It has reported a different error:

------

java.lang.StringIndexOutOfBoundsException
        at java.lang.String.substring(String.java:1247)
        at com.pivotal.jdbc.greenplumbase.ddda.<init>(Unknown Source)
        at com.pivotal.jdbc.greenplumbase.BaseConnection.a(Unknown Source)
        at com.pivotal.jdbc.greenplumbase.BaseDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:583)
        at java.sql.DriverManager.getConnection(DriverManager.java:227)
        at HAWQJdbcConnectionGP.main(HAWQJdbcConnectionGP.java:28)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
        at java.lang.reflect.Method.invoke(Method.java:620)
        at
org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)

------


Is this a known issue? Is there any workaround for this problem?

I believe this is because of the space character in the GUC, but I need
some advise on this.


Regards,
Gagan Brahmi