Uploaded image for project: 'Bahir'
  1. Bahir
  2. BAHIR-177

Siddhi Library state recovery causes an Exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • Flink-1.1.0
    • None
    • None

    Description

      Currently, Flink offers a way to store state and this is utilized for Siddhi Library. The problem is that Siddhi internally bases on operators IDs that are generated automatically when the SiddhiAppRuntime is initialized. This means that if the job is restarted and new operators IDs are assigned for Siddhi, yet the Flink stores states with old ID's. 

      Siddhi uses an operator ID to get state from Map :

      snapshotable.restoreState(snapshots.get(snapshotable.getElementId()));

      Siddhi does not make a null-check on the retrieved values, thus restoreState throws an NPE which is caught and CannotRestoreSiddhiAppStateException is thrown instead. Any flink job will go into infinite loop of restarting after facing this issue.

      Attachments

        Issue Links

          Activity

            People

              Wosinsan Dominik Wosiński
              Wosinsan Dominik Wosiński
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: