About the PXF Configuration Files

$PXF_BASE/conf includes these user-customizable configuration files:

  • pxf-application.properties - PXF Service application configuration properties
  • pxf-env.sh - PXF command and JVM-specific runtime configuration properties
  • pxf-log4j2.xml - PXF logging configuration properties
  • pxf-profiles.xml - Custom PXF profile definitions

pxf-application.properties

The pxf-application.properties file exposes these PXF Service application configuration properties:

Parameter Description Default Value
pxf.connection.timeout The Tomcat server connection timeout for read operations (-1 for infinite timeout). 5m (5 minutes)
pxf.connection.upload-timeout The Tomcat server connection timeout for write operations (-1 for infinite timeout). 5m (5 minutes)
pxf.max.threads The maximum number of PXF tomcat threads. 200
pxf.task.pool.allow‑core‑thread‑timeout Identifies whether or not core streaming threads are allowed to time out. false
pxf.task.pool.core-size The number of core streaming threads. 8
pxf.task.pool.queue-capacity The capacity of the core streaming thread pool queue. 0
pxf.task.pool.max-size The maximum allowed number of core streaming threads. pxf.max.threads if set, or 200
pxf.log.level The log level for the PXF Service. info

To set a new value for a PXF Service application property, you may first need to uncomment the property in the pxf-application.properties file before you set the new value.

pxf-env.sh

The pxf-env.sh file exposes these PXF JVM configuration properties:

Parameter Description Default Value
JAVA_HOME The path to the Java JRE home directory. /usr/java/default
PXF_LOGDIR The PXF log directory. $PXF_BASE/logs
PXF_RUNDIR The PXF run directory. $PXF_BASE/run
PXF_JVM_OPTS The default options for the PXF Java virtual machine. -Xmx2g -Xms1g
PXF_OOM_KILL Enable/disable PXF auto-kill on OutOfMemoryError (OOM). true (enabled)
PXF_OOM_DUMP_PATH The absolute path to the dump file that PXF generates on OOM. No dump file (empty)
PXF_LOADER_PATH Additional directories and JARs for PXF to class-load. (empty)
LD_LIBRARY_PATH Additional directories and native libraries for PXF to load. (empty)

To set a new value for a PXF JVM configuration property, you may first need to uncomment the property in the pxf-env.sh file before you set the new value.

pxf-log4j2.xml

The pxf-log4j2.xml file configures PXF and subcomponent logging. By default, PXF is configured to log at the info level, and logs at the warn or error levels for some third-party libraries to reduce verbosity.

The Logging advanced configuration topic describes how to enable more verbose client- and server-level logging for PXF.

pxf-profiles.xml

PXF defines its default profiles in the pxf-profiles-default.xml file. If you choose to add a custom profile, you configure the profile in pxf-profiles.xml.

Modifying the PXF Configuration

When you update a PXF configuration file, you must sychronize the changes to all hosts in the Greenplum Database cluster and then restart PXF for the changes to take effect.

Procedure:

  1. Update the configuration file(s) of interest.

  2. Synchronize the PXF configuration to all hosts in the Greenplum Database cluster:

    gpadmin@gpmaster$ pxf cluster sync
    
  3. (Re)start PXF on all Greenplum hosts:

    gpadmin@gpmaster$ pxf cluster restart