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