Migration Troubleshooting

« Back to migration guide

After updating the client there are org.sqlite.SQLiteException exceptions being thrown coming from the DefaultNotificationReceiver

2025-08-11T18:55:35.885Z WARNING        thread=8120     [{receiver}] exception while parsing URLNotification

org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_NOTNULL] A NOT NULL constraint failed (NOT NULL constraint failed: index.tracker_url)
        at org.sqlite.core.DB.newSQLException(DB.java:1135)
        at org.sqlite.core.DB.newSQLException(DB.java:1146)
        at org.sqlite.core.DB.execute(DB.java:941)
        at org.sqlite.core.DB.executeUpdate(DB.java:1010)
        at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:95)
        at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:81)
        at gov.usgs.earthquake.distribution.JDBCNotificationIndex.addNotification(JDBCNotificationIndex.java:497)

In the newest version of the client, the tracker_url field was removed. This problem can be resolved with the following steps:

1. Stop the client
2. Locate the config section that defines the index of the receiver

The index is defined with the indexFile property

# Example receiver config
receivers = receiver_eids

[receiver_eids]
type = gov.usgs.earthquake.distribution.EIDSNotificationReceiver
alternateServres = prod02-pdl01.cr.usgs.gov:39977
indexFile = some/path/to/file.db
maxServerEventAgeDays = 7.0
storage = receiver_storage
serverHost = prod01-pdl01.cr.usgs.gov
serverPort = 39977
trackingfile = eids_tracking.dat
3. Rename (or remove) the file specified
4. Start the client

The client will recreate the file with the correct schema.

After updating the client there are org.sqlite.SQLiteException exceptions being thrown coming from the DefaultNotificationListener

2025-08-12T16:00:03.946Z INFO          thread=66          [urn:usgs-product:source:type:code:updatetime Listener Task] Exception executing task
org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_NOTNULL] A NOT NULL constraint failed (NOT NULL constraint failed: index.tracker_url)
                at org.sqlite.core.DB.newSQLException(DB.java:1135)
                at org.sqlite.core.DB.newSQLException(DB.java:1146)
                at org.sqlite.core.DB.execute(DB.java:941)
                at org.sqlite.core.DB.executeUpdate(DB.java:1010)
                at org.sqlite.jdbc3.JDBC3PreparedStatement.executeLargeUpdate(JDBC3PreparedStatement.java:95)
                at org.sqlite.jdbc3.JDBC3PreparedStatement.executeUpdate(JDBC3PreparedStatement.java:81)
                at gov.usgs.earthquake.distribution.JDBCNotificationIndex.addNotification(JDBCNotificationIndex.java:497)
                at gov.usgs.earthquake.distribution.DefaultNotificationListener.onAfterProcessNotification(DefaultNotificationListener.java:250)
                at gov.usgs.earthquake.distribution.DefaultNotificationListener.onNotification(DefaultNotificationListener.java:144)

In the newest version of the client, the tracker_url field was removed. This problem can be resolved with the following steps:

1. Stop the client
2. Locate the config section that defines the index of the listener

The index is defined with the listenerIndexFile property

# Example listener config
listeners = indexer

[external_listener]
type = gov.usgs.earthquake.distribution.ExternalNotificationListener
listenerIndexFile = some/path/to/file.db
command = /bin/echo
storage = listener_storage
3. Rename (or remove) the file specified
4. Start the client

The client will recreate the file with the correct schema.

The logs are filled with Connection init error messages and I’m unable to receive products using an EIDSNotificationReceiver

[Warning] Connection init error:  Error creating CORBA ORB or POA:  org.omg.CORBA.INITIALIZE: Unable to initialize orb loader (java.lang.ExceptionInInitializerError)
org.omg.CORBA.INITIALIZE: Unable to initialize orb loader (java.lang.ExceptionInInitializerError)
        at org.openorb.orb.core.ORB.set_parameters(ORB.java:1127)
        at org.omg.CORBA.ORB.init(ORB.java:296)
        at com.isti.openorbutil.OrbManager.initImplementation(OrbManager.java:260)
        at com.isti.openorbutil.OrbManager.initImplementation(OrbManager.java:311)
        at com.isti.quakewatch.util.QWCorbaConnector$EventChannelConnectThread.connect(QWCorbaConnector.java:1311)
        at com.isti.quakewatch.util.QWCorbaConnector$EventChannelConnectThread.run(QWCorbaConnector.java:1197)
Caused by: java.lang.ExceptionInInitializerError
        at org.openorb.orb.config.OpenORBLoader.<clinit>(OpenORBLoader.java:64)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

This issue occurs when an EIDSNotificationReceiver is configured. With the update to Java 17, the following --add-opens flag must be added to the Java command in order for this type of receiver to work

1
java --add-opens java.base/java.lang=ALL-UNNAMED -jar ProductClient.jar --receive



Last modified: Wed Aug 13 14:51:47 UTC 2025