LATEST VERSION: 3.3.0 - RELEASE NOTES
Pivotal GemFire®-Greenplum® Connector v3.3

Troubleshooting

Here are problems and fixes related to using the GemFire-Greenplum Connector.

  • Problem: When a second server is started, the second server will fail to start under each of the following situations:

    • If two cache.xml files have different GPDB table names mapped to the same GemFire region.
    • If two cache.xml files have different schema attribute values in the specification of the gpdb:pdx element for a single GemFire region.
    • If two cache.xml files map a different set of ID fields. This implies that the gpdb:id element must be fully specified; it cannot be empty.
    • If two cache.xml files have different content for their gpdb:field elements. Note that if both have an empty gpdb:fields element, the second server can start. For differing content in the cache.xml files, the situations that cause the second server to fail include:

      • no gpdb:field elements are specified for the first server, and all the gpdb:field elements are specified for the second server
      • no gpdb:field elements are specified for the second server, and all the gpdb:field elements are specified for the first server
      • no gpdb:field elements are specified for the first server, and some gpdb:field elements are specified for the second server
      • no gpdb:field elements are specified for the second server, and some gpdb:field elements are specified for the first server

    Solution: Correct the cache.xml contents and start or restart the servers.

  • Problem: Error message when attempting an import or export. An error message similar to

    Could not process command due to GemFire error.
    Error while processing command <import gpdb --region=/Child>
    

    Cause of the Problem: There is a communication error between GemFire and the Pivotal Greenplum® Database (GPDB) segment. The GPDB communication to GemFire is unsuccessful.

    Diagnosis and Solution: Use network tools to identify and fix the problem. Consider firewall issues, and make sure that the proper ports are open. Also check that the server’s gpfdist is configured correctly. Use the gfsh describe gpfdist-protocol command to observe the configuration. If the host name or IP address are incorrect, correct them in the cache.xml file’s gpdb:gpfdist attribute specification or with the gfsh configure gpfdist-protocol command.

  • Problem: Error message when attempting an import or export. An error message similar to

    No longer connected to 192.0.2.0[1099]. Could not process command due
    to GemFire error. Error while processing command
    <export gpdb --region=/LargeRegion --type=UPSERT>
    Reason : This connection to a distributed system has been disconnected.
    

    Cause of the Problem: Timeouts within the GemFire cluster have resulted in the disconnection of one or more cluster members.

    Diagnosis and Solution: Follow advice on Diagnosing System Problems within the GemFire manual on topics dealing with timeouts, as well as the specific error of Member logs ForcedDisconnectException, Cache and DistributedSystem forcibly closed to adjust the GemFire cluster.

  • Problem: Error message when attempting an import or export. An error message similar to

    Could not process command due to GemFire error.
    Error while processing command
    <import gpdb --region=/Child>
    Reason : io.pivotal.gemfire.gpdb.operations.OperationException:
    org.postgresql.util.PSQLException: FATAL: database "gemfire_db" does not exist
    

    Cause of the Problem: The GPDB does not exist as specified. Doing an import or export operation presumes that the GPDB exists and is up and running; these operations do not create or instantiate a GPDB.

    Diagnosis and Solution: Find and fix any spelling or address error(s) in the specification of the GPDB.

  • Problem: A NullPointerException causes this start of a stack trace starts within the server’s log:

    [error 2017/04/19 09:21:18.112 KST server1-1 <Function Execution Processor2> tid=0x72]
    null 1 execute: Failed operation.
    java.lang.NullPointerException
    at io.pivotal.gemfire.gpdb.operations.OperationBase$Transaction
          .begin(OperationBase.java:564)
    at io.pivotal.gemfire.gpdb.operations.OperationBase
          .execute(OperationBase.java:114)
    at io.pivotal.gemfire.gpdb.functions.OperationFunction
          .execute(OperationFunction.java:68)
    at org.apache.geode.internal.cache.execute.AbstractExecution
          .executeFunctionLocally(AbstractExecution.java:333)
    

    Cause of the Problem:
    The connection-url attribute is invalid, so the JNDI binding for JDBC cannot work.

    Diagnosis and Solution: Find and fix the URL. If created with gfsh create jndi-binding, then first destroy it using gfsh destroy jndi-binding, and then re-create the JNDI binding with a corrected URL. If specified within thejndi-binding element of the cache.xml file, fix the spelling within the cache.xml file. The JDBC connection to the GPDB may be tested by using the procedure outlined in the Pivotal Greenplum Knowledge Base article How to test JDBC and Greenplum Datadirect JDBC.