Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-16140

[fiware-stackoverflow] Cygnus doesn't persist data because: "namespace name generated is too long >127"

    Details

      Description

      Created question in FIWARE Q/A platform on 09-09-2019 at 23:09
      Please, ANSWER this question AT https://stackoverflow.com/questions/57861531/cygnus-doesnt-persist-data-because-namespace-name-generated-is-too-long-127

      Question:
      Cygnus doesn't persist data because: "namespace name generated is too long >127"

      Description:
      After some days breaking my head because cygnus persist randomly the updates, I have found in the logs that the size of a generated name space is too long.

      I'm working on Centos 7
      my entities use the standard type: BikeHireDockingStation
      The error says that the namespace generate is too long (127 caracteres). It generates 167:

      sth_malaga.sth_/urn:ngsi-ld:BikeHireDockingStation:10_BikeHireDockingStation.aggr.$_id.entityId_1id.entityType_1id.attrName_1id.resolution_1_id.origin_1

      but even if I change the type to bike, the size is 124.

      here you can see the part of the log error that I obtain when I call:
      $ docker container logs fiware-cygnus

      time=2019-09-09T21:14:14.176Z | lvl=ERROR | corr=N/A | trans=N/A | srv=N/A |
      subsrv=N/A | comp=cygnus-ngsi | op=processRollbackedBatches |
      msg=com.telefonica.iot.cygnus.sinks.NGSISink[399] : CygnusPersistenceError. -,
      Command failed with error 67: 'namespace name generated from index name
      "sth_malaga.sth_/urn:ngsi-ld:BikeHireDockingStation:10_BikeHireDockingStation.aggr.$_id.entityId_1id.entityType_1id.attrName_1id.resolution_1_id.origin_1"
      is too long (127 byte max)' on server mongo-db:27017.
      The full response is

      { "ok" : 0.0, "errmsg" : "namespace name generated from index name \"sth_malaga.sth_/_urn:ngsi-ld:BikeHireDockingStation:10_BikeHireDockingStation.aggr.$_id.entityId_1__id.entityType_1__id.attrName_1__id.resolution_1__id.origin_1\" is too long (127 byte max)", "code" : 67, "codeName" : "CannotCreateIndex" }

      .
      Stack trace:
      [com.telefonica.iot.cygnus.sinks.NGSISTHSink$STHAggregator.persist(NGSISTHSink.java:374),
      com.telefonica.iot.cygnus.sinks.NGSISTHSink.persistBatch(NGSISTHSink.java:108),
      com.telefonica.iot.cygnus.sinks.NGSISink.processRollbackedBatches(NGSISink.java:391),
      com.telefonica.iot.cygnus.sinks.NGSISink.process(NGSISink.java:373),
      org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:67),
      org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:145), java.lang.Thread.run(Thread.java:748)]

      Is it possible that the maximum size for a type is 5? (with 5 the size of the namespace is 126)

      Can you help me to solve this problem?

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        6d 21h 1 Backlog Manager 16/Sep/19 9:06 PM
        In Progress In Progress Answered Answered
        2h 59m 1 Backlog Manager 17/Sep/19 12:06 AM
        Answered Answered Closed Closed
        20h 59m 1 Backlog Manager 17/Sep/19 9:06 PM

          People

          • Assignee:
            jicg José Ignacio Carretero Guarde
            Reporter:
            backlogmanager Backlog Manager
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: