MetricSign
EN|NLRequest Access
Medium severityinfrastructure

Power BI Refresh Error:
JniException

What does this error mean?

The Java Native Interface (JNI) call failed in the ADF self-hosted integration runtime. This error occurs when a connector that depends on the JVM (Parquet, ORC, Avro, or JDBC-based sources) cannot start or communicate with the JRE — caused by a 32-bit JRE, wrong JAVA_HOME, or a missing JDBC driver.

Common causes

  • 1JNI exception in integration runtime
  • 2Integration runtime configuration is incorrect or outdated
  • 3Authentication credentials or permissions are insufficient
  • 4The feature or setting is not supported for the selected connector or copy mode

How to fix it

  1. 1Check the JRE version installed on the SHIR host — the ADF integration runtime requires a 64-bit JRE; a 32-bit JRE causes JNI failures even if JAVA_HOME is set correctly.
  2. 2Upgrade to JRE 8 or JRE 11 (64-bit) on the SHIR host if running an older version — some native JDBC libraries are not compatible with older Java versions.
  3. 3Verify that the JDBC driver files (.jar) for the connector are placed in the correct driver path on the SHIR host and match the JRE version.
  4. 4If using Parquet, ORC, or Avro formats, set the _JAVA_OPTIONS environment variable to '-Xmx256m' to allocate sufficient heap for the JVM codec — restart the IR service after changing this variable.
  5. 5Check the IR host machine's event log and the Microsoft Integration Runtime log files for the specific Java exception message that caused the JNI failure.

Frequently asked questions

Does a JRE or JVM error affect all pipelines or only specific connectors?

JVM errors affect only pipelines processing Parquet, ORC, or Avro on a self-hosted integration runtime. Pipelines using other connectors on the same SHIR are not affected.

Why does ADF require a JRE for some file formats?

Parquet, ORC, and Avro use Java-based codec libraries. On a self-hosted IR, ADF invokes a JVM on the host for codec operations. Azure IR includes the JVM; self-hosted IRs require it to be installed separately.

After installing or updating the JRE, do I need to restart anything?

Yes — restart the Microsoft Integration Runtime service on the SHIR host after any JRE or _JAVA_OPTIONS changes. The JVM loads at IR startup and changes don't take effect until the service restarts.

Can custom plugins on the SHIR cause pipeline failures?

Yes — if FailedToDownloadCustomPlugins appears, the SHIR can't download a required plugin. Verify the host has outbound internet access to the ADF plugin endpoint and that no proxy blocks the download.

Official documentation: https://learn.microsoft.com/en-us/azure/data-factory/connector-troubleshoot-guide

Other infrastructure errors