Hey all, we have several newly added real-time tab...
# troubleshooting
n
Hey all, we have several newly added real-time tables are facing a problem. Their segments never turn to done. Do you have any idea how to fix that?
m
What do you mean by turn to done? If you mean flushed to disk, how are you checking that?
n
@Mayank , the status of a segment normally will change from "in progress" to "done"
And I found those table always only have the initial 2 segments and they never turn into a offline segment.
Copy code
{
  "tableName": "cases",
  "tableType": "REALTIME",
  "tenants": {
    "broker": "DefaultTenant",
    "server": "Tenant1",
    "tagOverrideConfig": {}
  },
  "segmentsConfig": {
    "schemaName": "cases",
    "timeType": "MILLISECONDS",
    "retentionTimeUnit": "DAYS",
    "retentionTimeValue": "90",
    "timeColumnName": "casetime",
    "replication": "1",
    "segmentAssignmentStrategy": "BalanceNumSegmentAssignmentStrategy",
    "segmentPushType": "APPEND",
    "replicasPerPartition": "1"
  },
  "tableIndexConfig": {
    "loadMode": "MMAP",
    "invertedIndexColumns": [
      "assignedteam",
      "casesource",
      "category",
      "priority",
      "resolution",
      "state",
      "status",
      "subcategory1",
      "subcategory2"
    ],
    "createInvertedIndexDuringSegmentGeneration": false,
    "rangeIndexColumns": [
      "casetime",
      "updatedat",
      "updatedat_day",
      "closedat_day"
    ],
    "sortedColumn": [
      "casetime_day"
    ],
    "bloomFilterColumns": [],
    "bloomFilterConfigs": null,
    "noDictionaryColumns": [
      "casetime_day",
      "updatedat_day",
      "closedat_day",
      "createdat_day",
      "estimatedresolutiontime_day",
      "casetime",
      "updatedat",
      "ban",
      "caseid",
      "closedat",
      "createdat",
      "customeremail",
      "description",
      "estimatedresolutiontime",
      "interactionid",
      "ptn",
      "subject",
      "summary"
    ],
    "onHeapDictionaryColumns": [],
    "varLengthDictionaryColumns": [],
    "enableDefaultStarTree": false,
    "starTreeIndexConfigs": [
      {
        "dimensionsSplitOrder": [
          "casetime_day",
          "closedat_day",
          "state",
          "subcategory2",
          "subcategory1",
          "category"
        ],
        "skipStarNodeCreationForDimensions": [],
        "functionColumnPairs": [
          "DISTINCT_COUNT_HLL__caseid"
        ],
        "maxLeafRecords": 10000
      }
    ],
    "enableDynamicStarTreeCreation": false,
    "segmentPartitionConfig": null,
    "columnMinMaxValueGeneratorMode": null,
    "aggregateMetrics": false,
    "nullHandlingEnabled": false,
    "streamConfigs": {
      "streamType": "solace",
      "stream.solace.consumer.type": "highLevel",
      "stream.solace.topic.name": "cw/jms/cases/pinot/v1",
      "stream.solace.decoder.class.name": "org.apache.pinot.plugin.stream.solace.server.SolaceJSONMessageDecoder",
      "stream.solace.consumer.factory.class.name": "org.apache.pinot.plugin.stream.solace.server.SolaceStreamConsumerFactory",
      "stream.solace.jms.Host": "xxxxxx",
      "stream.solace.jms.Username": "xxxxxx",
      "stream.solace.jms.Password": "xxxxx",
      "stream.solace.jms.VPN": "solace-prod",
      "stream.solace.destinationType": "queue",
      "stream.solace.jms.ClientID": "prod-profile",
      "realtime.segment.flush.threshold.time": "24h",
      "realtime.segment.flush.threshold.segment.size": "8M"
    }
  },
  "metadata": {},
  "ingestionConfig": {
    "filterConfig": null,
    "transformConfigs": null
  },
  "quota": {
    "storage": null,
    "maxQueriesPerSecond": null
  },
  "task": null,
  "routing": {
    "segmentPrunerTypes": null,
    "instanceSelectorType": null
  },
  "query": {
    "timeoutMs": null
  },
  "fieldConfigList": null,
  "upsertConfig": null,
  "tierConfigs": null
}
Here is a config file for one of the table, we have set the flush threshold to:
Copy code
"realtime.segment.flush.threshold.time": "24h",
      "realtime.segment.flush.threshold.segment.size": "8M"
Hey @Kishore G do you have any idea of this issue?
m
Hi @Neil Teng The
OFFLINE
that you are referring to is not the OFFLINE table. It means that the segment is not available to be served. Essentially you never want a segment to be
OFFLINE
for serving. Does that make sense?
n
maybe I mistake some concepts. The key point I want to say is the segment never complete even though it satisfies the flush thresholds.