[Backlogmanager] [FIWARE-JIRA] (HELP-8775) [fiware-stackoverflow] Fiware Cygnus Error

Fernando Lopez (JIRA) jira-help-desk at jira.fiware.org
Fri May 26 09:41:00 CEST 2017


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

Fernando Lopez updated HELP-8775:
---------------------------------
    Status: In Progress  (was: Open)

> [fiware-stackoverflow] Fiware Cygnus Error
> ------------------------------------------
>
>                 Key: HELP-8775
>                 URL: https://jira.fiware.org/browse/HELP-8775
>             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 07-09-2015 at 09:09
> {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/32433444/fiware-cygnus-error
> +Question:+
> Fiware Cygnus Error
> +Description:+
> Looking for why my information was not persisting in Cosmos I have found this error in the log of cygnus repeated hundreds of times:
> 03 Sep 2015 02:20:18,491 ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor] (com.telefonica.iot.cygnus.sinks.OrionSink.process:103)  - Channel error (The Flume transaction could not be started. Details=begin() called when transaction is OPEN!)
> 03 Sep 2015 02:20:18,491 ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor] (org.apache.flume.SinkRunner$PollingRunner.run:160)  - Unable to deliver event. Exception follows.
> org.apache.flume.EventDeliveryException: java.lang.IllegalStateException: begin() called when transaction is OPEN!
> at com.telefonica.iot.cygnus.sinks.OrionSink.process(OrionSink.java:104)
> at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
> at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
> at java.lang.Thread.run(Thread.java:701)
> Caused by: java.lang.IllegalStateException: begin() called when transaction is OPEN!
>     at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
>     at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131)
>     at com.telefonica.iot.cygnus.sinks.OrionSink.process(OrionSink.java:101)
>     ... 3 more
> Is it a configuration error or a runtime error?
> Thanks in advance.
> Edit: This is a configuration file content of an agent:
> # Copyright 2014 Telefónica Investigación y Desarrollo, S.A.U
> # 
> # This file is part of fiware-cygnus (FI-WARE project).
> # 
> # fiware-cygnus is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
> # Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
> # later version.
> # fiware-cygnus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
> # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
> # details.
> # 
> # You should have received a copy of the GNU Affero General Public License along with fiware-cygnus. If not, see
> # http://www.gnu.org/licenses/.
> # 
> # For those usages not covered by the GNU Affero General Public License please contact with iot_support at tid dot es
> #=============================================
> # To be put in APACHE_FLUME_HOME/conf/agent.conf
> #
> # General configuration template explaining how to setup a sink of each of the available types (HDFS, CKAN, MySQL).
> #=============================================
> # The next tree fields set the sources, sinks and channels used by Cygnus. You could use different names than the
> # ones suggested below, but in that case make sure you keep coherence in properties names along the configuration file.
> # Regarding sinks, you can use multiple types at the same time; the only requirement is to provide a channel for each
> # one of them (this example shows how to configure 3 sink types at the same time). Even, you can define more than one
> # sink of the same type and sharing the channel in order to improve the performance (this is like having
> # multi-threading).
> cygnusagent.sources = http-source
> cygnusagent.sinks = hdfs-sink
> cygnusagent.channels = hdfs-channel
> #=============================================
> # source configuration
> # channel name where to write the notification events
> cygnusagent.sources.http-source.channels = hdfs-channel
> # source class, must not be changed
> cygnusagent.sources.http-source.type = org.apache.flume.source.http.HTTPSource
> # listening port the Flume source will use for receiving incoming notifications
> cygnusagent.sources.http-source.port = 5050
> # Flume handler that will parse the notifications, must not be changed
> cygnusagent.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.OrionRestHandler
> # URL target
> cygnusagent.sources.http-source.handler.notification_target = /notify
> # Default service (service semantic depends on the persistence sink)
> cygnusagent.sources.http-source.handler.default_service = my_service
> # Default service path (service path semantic depends on the persistence sink)
> cygnusagent.sources.http-source.handler.default_service_path = my_path
> # Number of channel re-injection retries before a Flume event is definitely discarded (-1 means infinite retries)
> cygnusagent.sources.http-source.handler.events_ttl = 0
> # Source interceptors, do not change
> cygnusagent.sources.http-source.interceptors = ts
> # TimestampInterceptor, do not change
> cygnusagent.sources.http-source.interceptors.ts.type = timestamp
> # GroupinInterceptor, do not change
> #cygnusagent.sources.http-source.interceptors.gi.type = com.telefonica.iot.cygnus.interceptors.GroupingInterceptor$Builder
> # Grouping rules for the GroupingInterceptor, put the right absolute path to the file if necessary
> # See the doc/design/interceptors document for more details
> #cygnusagent.sources.http-source.interceptors.gi.grouping_rules_conf_file = /usr/cygnus/conf/grouping_rules.conf
> # ============================================
> # OrionHDFSSink configuration
> # channel name from where to read notification events
> cygnusagent.sinks.hdfs-sink.channel = hdfs-channel
> # sink class, must not be changed
> cygnusagent.sinks.hdfs-sink.type = com.telefonica.iot.cygnus.sinks.OrionHDFSSink
> # Comma-separated list of FQDN/IP address regarding the HDFS Namenode endpoints
> # If you are using Kerberos authentication, then the usage of FQDNs instead of IP addresses is mandatory
> cygnusagent.sinks.hdfs-sink.hdfs_host = cosmos.lab.fiware.org
> # port of the HDFS service listening for persistence operations; 14000 for httpfs, 50070 for webhdfs
> cygnusagent.sinks.hdfs-sink.hdfs_port = 14000
> # username allowed to write in HDFS
> cygnusagent.sinks.hdfs-sink.hdfs_username = my_username
> # OAuth2 token
> cygnusagent.sinks.hdfs-sink.oauth2_token = my_token
> # how the attributes are stored, either per row either per column (row, column)
> cygnusagent.sinks.hdfs-sink.attr_persistence = column
> # Hive FQDN/IP address of the Hive server
> cygnusagent.sinks.hdfs-sink.hive_host = cosmos.lab.fiware.org
> # Hive port for Hive external table provisioning
> cygnusagent.sinks.hdfs-sink.hive_port = 10000
> # Kerberos-based authentication enabling
> cygnusagent.sinks.hdfs-sink.krb5_auth = false
> # Kerberos username
> cygnusagent.sinks.hdfs-sink.krb5_auth.krb5_user = krb5_username
> # Kerberos password
> cygnusagent.sinks.hdfs-sink.krb5_auth.krb5_password = xxxxxxxxxxxxx
> # Kerberos login file
> cygnusagent.sinks.hdfs-sink.krb5_auth.krb5_login_conf_file = /usr/cygnus/conf/krb5_login.conf
> # Kerberos configuration file
> cygnusagent.sinks.hdfs-sink.krb5_auth.krb5_conf_file = /usr/cygnus/conf/krb5.conf
> #=============================================
> # hdfs-channel configuration
> # channel type (must not be changed)
> cygnusagent.channels.hdfs-channel.type = memory
> # capacity of the channel
> cygnusagent.channels.hdfs-channel.capacity = 10000
> # amount of bytes that can be sent per transaction
> cygnusagent.channels.hdfs-channel.transactionCapacity = 1000



--
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