You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Noe (JIRA)" <ji...@apache.org> on 2017/07/27 12:34:01 UTC

[jira] [Commented] (NIFI-3349) GetSplunk Should Periodically Re-Authenticate

    [ https://issues.apache.org/jira/browse/NIFI-3349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16103153#comment-16103153 ] 

Noe commented on NIFI-3349:
---------------------------

GetSplunk is periodically having this issue and think it is related:
ERROR [Timer-Driven Process Thread-29] o.a.nifi.processors.splunk.GetSplunk GetSplunk[id=57083ec7-c0ef-152a-a952-2c31764dc675] GetSplunk[id=57083ec7-c0ef-152a-a952-2c31764dc675] failed to process due to com.splunk.HttpException: HTTP 401 -- {"messages":[{"type":"WARN","text":"call not properly authenticated"}]}; rolling back session: com.splunk.HttpException: HTTP 401 -- {"messages":[{"type":"WARN","text":"call not properly authenticated"}]}
This happens on [line 461|https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/src/main/java/org/apache/nifi/processors/splunk/GetSplunk.java#L461https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/src/main/java/org/apache/nifi/processors/splunk/GetSplunk.java#L461]

Would like to catch and call service.login() as well?



> GetSplunk Should Periodically Re-Authenticate
> ---------------------------------------------
>
>                 Key: NIFI-3349
>                 URL: https://issues.apache.org/jira/browse/NIFI-3349
>             Project: Apache NiFi
>          Issue Type: Bug
>    Affects Versions: 1.0.0, 0.6.0, 0.7.0, 0.6.1, 1.1.0, 0.7.1, 1.1.1, 1.0.1
>            Reporter: Bryan Bende
>            Priority: Minor
>
> The first time the processor executes, it lazily initializes the Splunk Service object:
> https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-splunk-bundle/nifi-splunk-processors/src/main/java/org/apache/nifi/processors/splunk/GetSplunk.java#L372-L377
> As part of this initialization, the Splunk service calls a login method like this:
> {code}
> public Service login(String username, String password) {
>         this.username = username;
>         this.password = password;
>         Args args = new Args();
>         args.put("username", username);
>         args.put("password", password);
>         args.put("cookie", "1");
>         ResponseMessage response = post("/services/auth/login", args);
>         String sessionKey = Xml.parse(response.getContent())
>             .getElementsByTagName("sessionKey")
>             .item(0)
>             .getTextContent();
>         this.token = "Splunk " + sessionKey;
>         this.version = this.getInfo().getVersion();
>         if (versionCompare("4.3") >= 0)
>             this.passwordEndPoint = "storage/passwords";
>         return this;
>     }
> {code}
> Since this only happens the first time the processor executes, it will only happen again if you stop and start the processor. If the processor has been running long enough that session probably expired and the processor is continuing to attempt to execute.
> We should periodically call service.login() in a timer thread.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)