All Products
Search
Document Center

Tablestore:Errors that may occur when OTSStream Reader is running

Last Updated:Sep 14, 2024

This topic describes errors that may occur when OTSStream Reader is running and how to troubleshoot the errors.

Error message: "Must set date or time range millis or time range string, please check your config"

  • Problem description

    The "Must set date or time range millis or time range string, please check your config" error message appears when OTSStream Reader is running. The following figure shows the error message.

    fig_setdate

  • Possible cause

    The parameters that specify the timestamp range of incremental data are not configured in the configuration script of OTSStream Reader.

  • Solution

    Specify the timestamp range of incremental data by using one of the following methods:

    • Set the value of the parameter.date parameter to the date of incremental data that you want to export.

    • Set the value of the parameter.startTimestampMillis parameter to the start timestamp of the timestamp range of incremental data, and the value of the parameter.endTimestampMillis parameter to the end timestamp of the timestamp range.

    For more information about how to configure the timestamp range of incremental data, see Synchronize incremental data to OSS.

Error Message: "The stream of data table is not enabled"

  • Problem description

    The "The stream of data table is not enabled" error message appears when OTSStream Reader is running. The following figure shows the error message.fig_datatablestream

  • Possible cause

    The Stream feature is disabled for the data table that is specified by the parameter.table parameter in OTSStream Reader.

  • Solution

    Enable the Stream feature for the data table that is specified in OTSStream Reader by using one of the following methods:

    • Log on to the Tablestore console, find the data table for which you want to enable the Stream feature, go to the Manage Table page, click the Tunnels tab, and then enable the Stream feature.fig_streamopen

    • Modify data table attributes by using a suitable SDK to call the UpdateTable operation. For more information, see UpdateTable.

Error Message: "As expiration time is xx, so the start timestamp must greater than xx"

  • Problem description

    The "As expiration time is xx, so the start timestamp must greater than xx" error message appears when OTSStream Reader is running. The following figure shows the error message.

    fig_greaterthan

  • Possible cause

    The startTime parameter that specifies the start timestamp of the timestamp range of incremental logs is not correctly configured based on the log expiration time.

  • Solution

    Set the startTime parameter in the synchronization script to a value that is greater than the value that is obtained by using the following formula: Synchronization task start time - Log expiration time + 10 minutes.

    To obtain the log expiration time, log on to the Tablestore console, find the data table whose log expiration time you want to obtain, go to the Manage Table page, click the Basic Information tab, and then view the value of the Log Expiration Time parameter.

Error message: "To avoid timing error between different machines, the end timestamp must smaller than xx"

  • Problem description

    The "To avoid timing error between different machines, the end timestamp must smaller than xx" error message appears when OTSStream Reader is running. The following figure shows the error message.fig_smallerthan

  • Possible cause

    The value of the endTime parameter is invalid.

  • Solution

    Set the endTime parameter in the synchronization script to a value that is less than the value that is obtained by using the following formula: Synchronization task start time - 5 minutes.

Error message: "The item of column must be map object"

  • Problem description

    The "The item of column must be map object" error message appears when OTSStream Reader is running. The following sample code shows the error message.

    [code:OTSStreamReaderError,messageOTSStreamReaderError]-com.alibaba.datax.plugin.reader.otsstreamreader.internal.OTSStreamReaderException:Parsecolumnfail,pleasecheckyourconfig.-com.alibaba.datax.plugin.reader.otsstreamreader.internal.OTSStreamReaderException:Parsecolumnfail,pleasecheckyourconfig.
    atcom.alibaba.datax.plugin.reader.otsstreamreader.internal.config.OTSStreamReaderConfig.parseConfigForSingleVersionAndUpdateOnlyMode(OTSStreamReaderConfig.java:178)
    atcom.alibaba.datax.plugin.reader.otsstreamreader.internal.config.OTSStreamReaderConfig.load(OTSStreamReaderConfig.java:267)
    atcom.alibaba.datax.plugin.reader.otsstreamreader.internal.OTSStreamReader$Job.init(OTSStreamReader.java:30)
    atcom.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:1083)
    atcom.alibaba.datax.core.job.JobContainer.init(JobContainer.java:497)
    atcom.alibaba.datax.core.job.JobContainer.start(JobContainer.java:220)
    atcom.alibaba.datax.core.Engine.start(Engine.java:100)
    atcom.alibaba.datax.core.Engine.entry(Engine.java:318)
    atcom.alibaba.datax.core.Engine.main(Engine.java:351)
    Causedby:java.lang.IllegalArgumentException:Theitemofcolumnmustbemapobject,pleasecheckyourinput.
  • Possible cause

    The parameter.column parameter is specified in an invalid format.

  • Solution

    Make sure that the parameter.column parameter is specified in a valid format. The following sample code provides examples of the format:

    • Incorrect example

      "column":[
        "col1",
        "col2"
      ]
    • Correct example

      "column":[
        {
      
           "name" : "col1"
      
        },
        {
      
           "name" : "col2"
      
        }
      ]