Uploaded image for project: 'Apache IoTDB'
  1. Apache IoTDB
  2. IOTDB-896

[Distributed] Fail to Insert Nonexistent Timeseries

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      Problem Description:

      SessionExample.java fails to run successfully. It seems blocked when tablets are inserted, i.e., when insertTablets() method is running.

       

       Problem Analysis:

      A coordinator receives insert request from client and forwards it to a remote data group. The data group leader cannot find the measurements. The measurement is marked null if the path does not exist. It will pull timeseries schemas and insert again, which is implemented in Raftmember.handleLogExecutionException(), but with failed measurements being null. With these null measurements, PlanExecutor will throw a NullPointerException, which is not caught by the system. AsyncDataLogApplier will not catch this exception, and it will not set the log as applied, in method applyInternal(Log log). As a consequence, it seems the log is never applied, which blocks the queue.

       

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Yuyuan.K Yuyuan KANG
            Yuyuan.K Yuyuan KANG
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment