View Issue Details

IDProjectCategoryView StatusLast Update
0005935SymmetricDSBugpublic2023-07-26 19:00
Reporterrli Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.14.8 
Target Version3.14.9Fixed in Version3.14.9 
Summary0005935: Failed to execute IHeartbeatListener PushHeartbeatListener java.lang.NullPointerException When Starting up SymmetricDS
DescriptionWhen starting up SymmetricDS 3.14.8, the log file has ERROR below:
Failed to execute IHeartbeatListener PushHeartbeatListener java.lang.NullPointerException
        at org.jumpmind.symmetric.job.JobManager.getJob(JobManager.java:91)
        at org.jumpmind.symmetric.job.PushHeartbeatListener.heartbeat(PushHeartbeatListener.java:103)
        at org.jumpmind.symmetric.service.impl.DataService.heartbeat(DataService.java:3073)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.heartbeat(AbstractSymmetricEngine.java:1009)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:640)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:605)
        at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:259)
        at org.jumpmind.symmetric.web.SymmetricEngineStarter.run(SymmetricEngineStarter.java:42)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Steps To ReproduceBelow is the complete startup logs:

2023-07-25 14:08:45,621 INFO [startup] [AbstractCommandLauncher] [main] Option: name=no-log-console, value={}
2023-07-25 14:08:45,632 INFO [startup] [AbstractCommandLauncher] [main] Option: name=host, value={10.0.12.125}
2023-07-25 14:08:45,632 INFO [startup] [AbstractCommandLauncher] [main] Option: name=port, value={31415}
2023-07-25 14:08:45,632 INFO [startup] [AbstractCommandLauncher] [main] Option: name=properties, value={/appl_top/symmetric/mobile-sync/config/mobile-sync-master.properties}
2023-07-25 14:08:45,632 INFO [startup] [AbstractCommandLauncher] [main] Option: name=server, value={}
2023-07-25 14:08:45,908 INFO [startup] [SymmetricUtils] [main]
   _____ __ _ ____ _____
  / ___/ __ _____ __ ___ __ ___ _/ /_ ____(_)___ / __ | / ___/
  \__ \ / / / / _ `_ \/ _ `_ \/ _ \/_ __// __/ / __/ / / / / \__ \
 ___/ // /_/ / // // / // // / __// / / / / / /_ / /_/ / ___/ /
/____/ \__ /_//_//_/_//_//_/\___/ \_/ /_/ /_/\__/ /_____/ /____/
      /____/
+-----------------------------------------------------------------+
| Copyright (C) 2007-2023 JumpMind, Inc. |
| |
| Licensed under the GNU General Public License version 3. |
| This software comes with ABSOLUTELY NO WARRANTY. |
| See http://www.gnu.org/licenses/gpl.html |
+-----------------------------------------------------------------+
2023-07-25 14:08:45,985 INFO [startup] [SymmetricWebServer] [main] About to start SymmetricDS web server on 10.0.12.125:31415:HTTP/1.1
2023-07-25 14:08:46,333 INFO [startup] [SymmetricEngineHolder] [main] Current directory is /appl_top/symmetric/mobile-sync/symmetric-server-3.14.8
2023-07-25 14:08:46,334 INFO [startup] [SymmetricEngineHolder] [main] Starting in single-server mode
2023-07-25 14:08:46,541 INFO [mobile-sync-master] [ClientSymmetricEngine] [symmetric-engine-startup-1] Initializing connection to database
2023-07-25 14:08:47,252 INFO [mobile-sync-master] [JdbcDatabasePlatformFactory] [symmetric-engine-startup-1] Detected database 'Oracle', version '11', protocol 'oracle'
2023-07-25 14:08:47,274 INFO [mobile-sync-master] [JdbcDatabasePlatformFactory] [symmetric-engine-startup-1] The IDatabasePlatform being used is org.jumpmind.db.platform.oracle.OracleDatabasePlatform
2023-07-25 14:08:47,860 INFO [mobile-sync-master] [OracleSymmetricDialect] [symmetric-engine-startup-1] The DbDialect being used is org.jumpmind.symmetric.db.oracle.OracleSymmetricDialect
2023-07-25 14:08:47,970 INFO [mobile-sync-master] [ExtensionService] [symmetric-engine-startup-1] Found 0 extension points from the database that will be registered
2023-07-25 14:08:47,986 INFO [mobile-sync-master] [StagingManager] [symmetric-engine-startup-1] The staging directory was initialized at the following location: /appl_top/symmetric/mobile-sync/symmetric/tmp/mobile-sync-master
2023-07-25 14:08:48,739 INFO [mobile-sync-master] [ExtensionService] [symmetric-engine-startup-1] Found 0 extension points from the database that will be registered
2023-07-25 14:08:48,740 INFO [mobile-sync-master] [ClientExtensionService] [symmetric-engine-startup-1] Found 7 extension points from spring that will be registered
2023-07-25 14:08:48,828 INFO [mobile-sync-master] [AbstractSymmetricEngine] [symmetric-engine-startup-1] Initializing SymmetricDS database
2023-07-25 14:08:48,833 INFO [mobile-sync-master] [AbstractSymmetricEngine] [symmetric-engine-startup-1] Version matches for tables and objects
2023-07-25 14:08:48,862 INFO [mobile-sync-master] [AbstractSymmetricEngine] [symmetric-engine-startup-1] Done initializing SymmetricDS database
2023-07-25 14:08:48,862 INFO [mobile-sync-master] [AbstractSymmetricEngine] [symmetric-engine-startup-1] SymmetricDS database version : 3.14.8
2023-07-25 14:08:48,862 INFO [mobile-sync-master] [AbstractSymmetricEngine] [symmetric-engine-startup-1] SymmetricDS software version : 3.14.8
2023-07-25 14:08:48,957 INFO [mobile-sync-master] [AbstractSymmetricEngine] [symmetric-engine-startup-1] Starting registered node [group=mobile-sync-master-group, id=mobile-sync-master-01, nodeId=mobile-sync-master-01]
2023-07-25 14:08:48,985 INFO [mobile-sync-master] [AbstractSymmetricEngine] [symmetric-engine-startup-1] auto.sync.triggers.at.startup is turned off
2023-07-25 14:08:49,077 ERROR [mobile-sync-master] [DataService] [symmetric-engine-startup-1] Failed to execute IHeartbeatListener PushHeartbeatListener java.lang.NullPointerException
        at org.jumpmind.symmetric.job.JobManager.getJob(JobManager.java:91)
        at org.jumpmind.symmetric.job.PushHeartbeatListener.heartbeat(PushHeartbeatListener.java:103)
        at org.jumpmind.symmetric.service.impl.DataService.heartbeat(DataService.java:3073)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.heartbeat(AbstractSymmetricEngine.java:1009)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:640)
        at org.jumpmind.symmetric.AbstractSymmetricEngine.start(AbstractSymmetricEngine.java:605)
        at org.jumpmind.symmetric.ClientSymmetricEngine.start(ClientSymmetricEngine.java:259)
        at org.jumpmind.symmetric.web.SymmetricEngineStarter.run(SymmetricEngineStarter.java:42)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

2023-07-25 14:08:49,128 INFO [mobile-sync-master] [RouterJob] [symmetric-engine-startup-1] Starting job 'Routing' on periodic schedule every 10000ms with the first run at 2023-07-25T14:08:54.163-0400
2023-07-25 14:08:49,134 INFO [mobile-sync-master] [PushJob] [symmetric-engine-startup-1] Starting job 'Push' on periodic schedule every 60000ms with the first run at 2023-07-25T14:08:50.721-0400
2023-07-25 14:08:49,136 INFO [mobile-sync-master] [PullJob] [symmetric-engine-startup-1] Starting job 'Pull' on periodic schedule every 60000ms with the first run at 2023-07-25T14:08:49.518-0400
2023-07-25 14:08:49,138 INFO [mobile-sync-master] [JobManager] [symmetric-engine-startup-1] Job Offline Push not configured for auto start
2023-07-25 14:08:49,139 INFO [mobile-sync-master] [JobManager] [symmetric-engine-startup-1] Job Offline Pull not configured for auto start
2023-07-25 14:08:49,145 INFO [mobile-sync-master] [OutgoingPurgeJob] [symmetric-engine-startup-1] Starting job 'Purge Outgoing' on cron schedule '0 0 */4 * * *' with the first run at 2023-07-25T16:00:00.000-0400
2023-07-25 14:08:49,147 INFO [mobile-sync-master] [IncomingPurgeJob] [symmetric-engine-startup-1] Starting job 'Purge Incoming' on cron schedule '0 0 */4 * * *' with the first run at 2023-07-25T16:00:00.000-0400
2023-07-25 14:08:49,151 INFO [mobile-sync-master] [StatisticFlushJob] [symmetric-engine-startup-1] Starting job 'Stat Flush' on cron schedule '0 0/5 * * * *' with the first run at 2023-07-25T14:10:00.000-0400
2023-07-25 14:08:49,152 INFO [mobile-sync-master] [SyncTriggersJob] [symmetric-engine-startup-1] Starting job 'SyncTriggers' on cron schedule '0 0 0 * * *' with the first run at 2023-07-26T00:00:00.000-0400
2023-07-25 14:08:49,156 INFO [mobile-sync-master] [HeartbeatJob] [symmetric-engine-startup-1] Starting job 'Heartbeat' on periodic schedule every 900000ms with the first run at 2023-07-25T14:08:54.732-0400
2023-07-25 14:08:49,157 INFO [mobile-sync-master] [WatchdogJob] [symmetric-engine-startup-1] Starting job 'Watchdog' on periodic schedule every 3600000ms with the first run at 2023-07-25T14:08:51.533-0400
2023-07-25 14:08:49,158 INFO [mobile-sync-master] [StageManagementJob] [symmetric-engine-startup-1] Starting job 'Stage Management' on cron schedule '0 0 * * * *' with the first run at 2023-07-25T15:00:00.000-0400
2023-07-25 14:08:49,165 INFO [mobile-sync-master] [JobManager] [symmetric-engine-startup-1] Job Refresh Cache not configured for auto start
2023-07-25 14:08:49,166 INFO [mobile-sync-master] [JobManager] [symmetric-engine-startup-1] Job File Sync Tracker not configured for auto start
2023-07-25 14:08:49,166 INFO [mobile-sync-master] [JobManager] [symmetric-engine-startup-1] Job File Sync Pull not configured for auto start
2023-07-25 14:08:49,166 INFO [mobile-sync-master] [JobManager] [symmetric-engine-startup-1] Job File Sync Push not configured for auto start
2023-07-25 14:08:49,166 INFO [mobile-sync-master] [InitialLoadExtractorJob] [symmetric-engine-startup-1] Starting job 'Initial Load Extract' on periodic schedule every 10000ms with the first run at 2023-07-25T14:08:53.590-0400
2023-07-25 14:08:49,167 INFO [mobile-sync-master] [MonitorJob] [symmetric-engine-startup-1] Starting job 'Monitor' on periodic schedule every 60000ms with the first run at 2023-07-25T14:08:58.517-0400
2023-07-25 14:08:49,167 INFO [mobile-sync-master] [JobManager] [symmetric-engine-startup-1] Job Report Status not configured for auto start
2023-07-25 14:08:49,167 INFO [mobile-sync-master] [JobManager] [symmetric-engine-startup-1] Job Log Miner not configured for auto start
2023-07-25 14:08:49,168 INFO [mobile-sync-master] [InitialLoadJob] [symmetric-engine-startup-1] Starting job 'Initial Load Queue' on periodic schedule every 10000ms with the first run at 2023-07-25T14:08:56.743-0400
2023-07-25 14:08:49,170 INFO [mobile-sync-master] [ClusterService] [symmetric-engine-startup-1] This node picked a server id of atltsta6
2023-07-25 14:08:49,173 INFO [mobile-sync-master] [AbstractSymmetricEngine] [symmetric-engine-startup-1] SymmetricDS Node STARTED:
         nodeId=mobile-sync-master-01
         groupId=mobile-sync-master-group
         type=server
         subType=null
         name=mobile-sync-master
         softwareVersion=3.14.8
         databaseName=Oracle
         databaseVersion=11.2
         driverName=Oracle JDBC driver
         driverVersion=21.5.0.0.0
         uptime=0 sec.
2023-07-25 14:08:49,748 INFO [startup] [SymmetricWebServer] [main] Joining the web server main thread
2023-07-25 14:08:54,247 INFO [mobile-sync-master] [DataGapFastDetector] [mobile-sync-master-job-6] Full gap analysis is running
2023-07-25 14:08:54,256 INFO [mobile-sync-master] [DataGapFastDetector] [mobile-sync-master-job-6] Querying data in gaps from database took 9 ms
2023-07-25 14:08:54,257 INFO [mobile-sync-master] [DataGapFastDetector] [mobile-sync-master-job-6] Full gap analysis is done after 10 ms
2023-07-25 14:08:54,782 INFO [mobile-sync-master] [PushHeartbeatListener] [mobile-sync-master-job-7] Some attribute(s) of node changed. Recording changes
2023-07-25 14:08:54,782 INFO [mobile-sync-master] [PushHeartbeatListener] [mobile-sync-master-job-7] Updating my node configuration info according to the symmetric properties
2023-07-25 14:09:04,558 INFO [mobile-sync-master] [ConfigurationChangedHelper] [mobile-sync-master-job-10] Clearing cache for nodes
2023-07-25 14:09:04,726 INFO [mobile-sync-master] [RouterService] [mobile-sync-master-job-10] Routed 2 data events in 462 ms
TagsNo tags attached.

Activities

rli

2023-07-26 13:33

reporter   ~0002356

In our database, SYM_JOB table was newly created during the upgrade process. Currently this table has no row.
Not sure if this is the reason for startup process to throw the error. If yes, how to fix the missing data in the table.

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 26 09:29:46 2023
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

mobile@oracle=> select * from sym_job;

no rows selected

mobile@oracle =>

rli

2023-07-26 14:44

reporter   ~0002357

If this error were indeed caused by missing seeded data in table SYM_JOB, the startup process should check and insert the missing seeded data into table SYM_JOB in order to avoid throwing up the error for IHeartbeatListener and PushHeartbeatListener.

cquamme

2023-07-26 17:51

developer   ~0002358

Caused by issue 0005886.

cquamme

2023-07-26 17:52

developer   ~0002359

To reproduce:
Set heartbeat.sync.on.startup = true

Related Changesets

SymmetricDS: 3.14 1255c7d1

2023-07-26 18:09:29

admin

Details Diff
0005935: Failed to execute IHeartbeatListener PushHeartbeatListener
java.lang.NullPointerException
Affected Issues
0005935
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/job/PushHeartbeatListener.java Diff File

Issue History

Date Modified Username Field Change
2023-07-26 13:06 rli New Issue
2023-07-26 13:33 rli Note Added: 0002356
2023-07-26 14:44 rli Note Added: 0002357
2023-07-26 17:51 cquamme Note Added: 0002358
2023-07-26 17:52 cquamme Note Added: 0002359
2023-07-26 17:52 cquamme Status new => acknowledged
2023-07-26 18:10 elong Assigned To => elong
2023-07-26 18:10 elong Status acknowledged => resolved
2023-07-26 18:10 elong Resolution open => fixed
2023-07-26 18:10 elong Fixed in Version => 3.14.9
2023-07-26 18:10 elong Target Version => 3.14.9
2023-07-26 19:00 admin Changeset attached => SymmetricDS 3.14 1255c7d1
2023-08-25 20:13 admin Status resolved => closed