[Backlogmanager] [FIWARE-JIRA] (HELP-8808) [fiware-stackoverflow] Fiware Cygnus always wants to create a new MongoDB collection when it receives a notification

Fernando Lopez (JIRA) jira-help-desk at jira.fiware.org
Sun May 28 20:10:00 CEST 2017


     [ https://jira.fiware.org/browse/HELP-8808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Fernando Lopez updated HELP-8808:
---------------------------------
     HD-Chapter: Data
    Description: 
Created question in FIWARE Q/A platform on 14-01-2017 at 22:01
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/41655134/fiware-cygnus-always-wants-to-create-a-new-mongodb-collection-when-it-receives-a


+Question:+
Fiware Cygnus always wants to create a new MongoDB collection when it receives a notification

+Description:+
I want to save historical data into MongoDB using Fiware Cygnus. But whenever Cygnus receives a notification it wants to create a new collection instead of adding a document if the collection already exists. I get this error message from Cygnus:

time=2017-01-14T20:58:11.785Z | lvl=WARN | corr=28eca6a8-da9c-11e6-841b-0242ac120009 | trans=9fa2d345-9aa1-4ff6-84df-75de5829a449 | srv=itg | subsrv=/building1 | comp=cygnus-ngsi | op=processNewBatches | msg=com.telefonica.iot.cygnus.sinks.NGSISink[590] : Command failed with error 48: 'a collection 'sth_itg.sth_/building1_TemperatureRoom1_room' already exists' on server iot-mongo:27017. The full response is { "ok" : 0.0, "errmsg" : "a collection 'sth_itg.sth_/building1_TemperatureRoom1_room' already exists", "code" : 48, "codeName" : "NamespaceExists" }


This is my agent.conf file:

cygnus-ngsi.sources = http-source
cygnus-ngsi.sinks = mongo-sink
cygnus-ngsi.channels = mongo-channel

cygnus-ngsi.sources.http-source.type = org.apache.flume.source.http.HTTPSource
cygnus-ngsi.sources.http-source.channels = mongo-channel
cygnus-ngsi.sources.http-source.port = 5050
cygnus-ngsi.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.NGSIRestHandler
cygnus-ngsi.sources.http-source.handler.notification_target = /notify
cygnus-ngsi.sources.http-source.handler.default_service = default
cygnus-ngsi.sources.http-source.handler.default_service_path = /
cygnus-ngsi.sources.http-source.interceptors = ts gi
cygnus-ngsi.sources.http-source.interceptors.ts.type = timestamp
cygnus-ngsi.sources.http-source.interceptors.gi.type = com.telefonica.iot.cygnus.interceptors.NGSIGroupingInterceptor$Builder
cygnus-ngsi.sources.http-source.interceptors.gi.grouping_rules_conf_file = /opt/apache-flume/conf/grouping_rules.conf


cygnus-ngsi.sinks.mongo-sink.type = com.telefonica.iot.cygnus.sinks.NGSIMongoSink
cygnus-ngsi.sinks.mongo-sink.channel = mongo-channel
#cygnus-ngsi.sinks.mongo-sink.enable_encoding = false
#cygnus-ngsi.sinks.mongo-sink.enable_grouping = false
#cygnus-ngsi.sinks.mongo-sink.enable_name_mappings = false
#cygnus-ngsi.sinks.mongo-sink.enable_lowercase = false
#cygnus-ngsi.sinks.mongo-sink.data_model = dm-by-entity
#cygnus-ngsi.sinks.mongo-sink.attr_persistence = row
cygnus-ngsi.sinks.mongo-sink.mongo_hosts = iot-mongo:27017
cygnus-ngsi.sinks.mongo-sink.mongo_username =
cygnus-ngsi.sinks.mongo-sink.mongo_password =
#cygnus-ngsi.sinks.mongo-sink.db_prefix = sth_
#cygnus-ngsi.sinks.mongo-sink.collection_prefix = sth_
#cygnus-ngsi.sinks.mongo-sink.batch_size = 1
#cygnus-ngsi.sinks.mongo-sink.batch_timeout = 30
#cygnus-ngsi.sinks.mongo-sink.batch_ttl = 10
#cygnus-ngsi.sinks.mongo-sink.data_expiration = 0
#cygnus-ngsi.sinks.mongo-sink.collections_size = 0
#cygnus-ngsi.sinks.mongo-sink.max_documents = 0
#cygnus-ngsi.sinks.mongo-sink.ignore_white_spaces = true

cygnus-ngsi.channels.mongo-channel.type = com.telefonica.iot.cygnus.channels.CygnusMemoryChannel
cygnus-ngsi.channels.mongo-channel.capacity = 1000
cygnus-ngsi.channels.mongo-channel.transactionCapacity = 100


Am I doing something wrong? Can someone help with this?

Thank you in advance.


  was:

Created question in FIWARE Q/A platform on 14-01-2017 at 22:01
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/41655134/fiware-cygnus-always-wants-to-create-a-new-mongodb-collection-when-it-receives-a


+Question:+
Fiware Cygnus always wants to create a new MongoDB collection when it receives a notification

+Description:+
I want to save historical data into MongoDB using Fiware Cygnus. But whenever Cygnus receives a notification it wants to create a new collection instead of adding a document if the collection already exists. I get this error message from Cygnus:

time=2017-01-14T20:58:11.785Z | lvl=WARN | corr=28eca6a8-da9c-11e6-841b-0242ac120009 | trans=9fa2d345-9aa1-4ff6-84df-75de5829a449 | srv=itg | subsrv=/building1 | comp=cygnus-ngsi | op=processNewBatches | msg=com.telefonica.iot.cygnus.sinks.NGSISink[590] : Command failed with error 48: 'a collection 'sth_itg.sth_/building1_TemperatureRoom1_room' already exists' on server iot-mongo:27017. The full response is { "ok" : 0.0, "errmsg" : "a collection 'sth_itg.sth_/building1_TemperatureRoom1_room' already exists", "code" : 48, "codeName" : "NamespaceExists" }


This is my agent.conf file:

cygnus-ngsi.sources = http-source
cygnus-ngsi.sinks = mongo-sink
cygnus-ngsi.channels = mongo-channel

cygnus-ngsi.sources.http-source.type = org.apache.flume.source.http.HTTPSource
cygnus-ngsi.sources.http-source.channels = mongo-channel
cygnus-ngsi.sources.http-source.port = 5050
cygnus-ngsi.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.NGSIRestHandler
cygnus-ngsi.sources.http-source.handler.notification_target = /notify
cygnus-ngsi.sources.http-source.handler.default_service = default
cygnus-ngsi.sources.http-source.handler.default_service_path = /
cygnus-ngsi.sources.http-source.interceptors = ts gi
cygnus-ngsi.sources.http-source.interceptors.ts.type = timestamp
cygnus-ngsi.sources.http-source.interceptors.gi.type = com.telefonica.iot.cygnus.interceptors.NGSIGroupingInterceptor$Builder
cygnus-ngsi.sources.http-source.interceptors.gi.grouping_rules_conf_file = /opt/apache-flume/conf/grouping_rules.conf


cygnus-ngsi.sinks.mongo-sink.type = com.telefonica.iot.cygnus.sinks.NGSIMongoSink
cygnus-ngsi.sinks.mongo-sink.channel = mongo-channel
#cygnus-ngsi.sinks.mongo-sink.enable_encoding = false
#cygnus-ngsi.sinks.mongo-sink.enable_grouping = false
#cygnus-ngsi.sinks.mongo-sink.enable_name_mappings = false
#cygnus-ngsi.sinks.mongo-sink.enable_lowercase = false
#cygnus-ngsi.sinks.mongo-sink.data_model = dm-by-entity
#cygnus-ngsi.sinks.mongo-sink.attr_persistence = row
cygnus-ngsi.sinks.mongo-sink.mongo_hosts = iot-mongo:27017
cygnus-ngsi.sinks.mongo-sink.mongo_username =
cygnus-ngsi.sinks.mongo-sink.mongo_password =
#cygnus-ngsi.sinks.mongo-sink.db_prefix = sth_
#cygnus-ngsi.sinks.mongo-sink.collection_prefix = sth_
#cygnus-ngsi.sinks.mongo-sink.batch_size = 1
#cygnus-ngsi.sinks.mongo-sink.batch_timeout = 30
#cygnus-ngsi.sinks.mongo-sink.batch_ttl = 10
#cygnus-ngsi.sinks.mongo-sink.data_expiration = 0
#cygnus-ngsi.sinks.mongo-sink.collections_size = 0
#cygnus-ngsi.sinks.mongo-sink.max_documents = 0
#cygnus-ngsi.sinks.mongo-sink.ignore_white_spaces = true

cygnus-ngsi.channels.mongo-channel.type = com.telefonica.iot.cygnus.channels.CygnusMemoryChannel
cygnus-ngsi.channels.mongo-channel.capacity = 1000
cygnus-ngsi.channels.mongo-channel.transactionCapacity = 100


Am I doing something wrong? Can someone help with this?

Thank you in advance.


     HD-Enabler: Cosmos

> [fiware-stackoverflow] Fiware Cygnus always wants to create a new MongoDB collection when it receives a notification
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: HELP-8808
>                 URL: https://jira.fiware.org/browse/HELP-8808
>             Project: Help-Desk
>          Issue Type: Monitor
>          Components: FIWARE-TECH-HELP
>            Reporter: Backlog Manager
>            Assignee: Francisco Romero
>              Labels: fiware, fiware-cygnus
>
> Created question in FIWARE Q/A platform on 14-01-2017 at 22:01
> {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/41655134/fiware-cygnus-always-wants-to-create-a-new-mongodb-collection-when-it-receives-a
> +Question:+
> Fiware Cygnus always wants to create a new MongoDB collection when it receives a notification
> +Description:+
> I want to save historical data into MongoDB using Fiware Cygnus. But whenever Cygnus receives a notification it wants to create a new collection instead of adding a document if the collection already exists. I get this error message from Cygnus:
> time=2017-01-14T20:58:11.785Z | lvl=WARN | corr=28eca6a8-da9c-11e6-841b-0242ac120009 | trans=9fa2d345-9aa1-4ff6-84df-75de5829a449 | srv=itg | subsrv=/building1 | comp=cygnus-ngsi | op=processNewBatches | msg=com.telefonica.iot.cygnus.sinks.NGSISink[590] : Command failed with error 48: 'a collection 'sth_itg.sth_/building1_TemperatureRoom1_room' already exists' on server iot-mongo:27017. The full response is { "ok" : 0.0, "errmsg" : "a collection 'sth_itg.sth_/building1_TemperatureRoom1_room' already exists", "code" : 48, "codeName" : "NamespaceExists" }
> This is my agent.conf file:
> cygnus-ngsi.sources = http-source
> cygnus-ngsi.sinks = mongo-sink
> cygnus-ngsi.channels = mongo-channel
> cygnus-ngsi.sources.http-source.type = org.apache.flume.source.http.HTTPSource
> cygnus-ngsi.sources.http-source.channels = mongo-channel
> cygnus-ngsi.sources.http-source.port = 5050
> cygnus-ngsi.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.NGSIRestHandler
> cygnus-ngsi.sources.http-source.handler.notification_target = /notify
> cygnus-ngsi.sources.http-source.handler.default_service = default
> cygnus-ngsi.sources.http-source.handler.default_service_path = /
> cygnus-ngsi.sources.http-source.interceptors = ts gi
> cygnus-ngsi.sources.http-source.interceptors.ts.type = timestamp
> cygnus-ngsi.sources.http-source.interceptors.gi.type = com.telefonica.iot.cygnus.interceptors.NGSIGroupingInterceptor$Builder
> cygnus-ngsi.sources.http-source.interceptors.gi.grouping_rules_conf_file = /opt/apache-flume/conf/grouping_rules.conf
> cygnus-ngsi.sinks.mongo-sink.type = com.telefonica.iot.cygnus.sinks.NGSIMongoSink
> cygnus-ngsi.sinks.mongo-sink.channel = mongo-channel
> #cygnus-ngsi.sinks.mongo-sink.enable_encoding = false
> #cygnus-ngsi.sinks.mongo-sink.enable_grouping = false
> #cygnus-ngsi.sinks.mongo-sink.enable_name_mappings = false
> #cygnus-ngsi.sinks.mongo-sink.enable_lowercase = false
> #cygnus-ngsi.sinks.mongo-sink.data_model = dm-by-entity
> #cygnus-ngsi.sinks.mongo-sink.attr_persistence = row
> cygnus-ngsi.sinks.mongo-sink.mongo_hosts = iot-mongo:27017
> cygnus-ngsi.sinks.mongo-sink.mongo_username =
> cygnus-ngsi.sinks.mongo-sink.mongo_password =
> #cygnus-ngsi.sinks.mongo-sink.db_prefix = sth_
> #cygnus-ngsi.sinks.mongo-sink.collection_prefix = sth_
> #cygnus-ngsi.sinks.mongo-sink.batch_size = 1
> #cygnus-ngsi.sinks.mongo-sink.batch_timeout = 30
> #cygnus-ngsi.sinks.mongo-sink.batch_ttl = 10
> #cygnus-ngsi.sinks.mongo-sink.data_expiration = 0
> #cygnus-ngsi.sinks.mongo-sink.collections_size = 0
> #cygnus-ngsi.sinks.mongo-sink.max_documents = 0
> #cygnus-ngsi.sinks.mongo-sink.ignore_white_spaces = true
> cygnus-ngsi.channels.mongo-channel.type = com.telefonica.iot.cygnus.channels.CygnusMemoryChannel
> cygnus-ngsi.channels.mongo-channel.capacity = 1000
> cygnus-ngsi.channels.mongo-channel.transactionCapacity = 100
> Am I doing something wrong? Can someone help with this?
> Thank you in advance.



--
This message was sent by Atlassian JIRA
(v6.4.1#64016)


More information about the Backlogmanager mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy