[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-27 Thread ASF subversion and git services (JIRA)


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

ASF subversion and git services commented on NIFI-5892:
---

Commit 1330b92cfa01f9dd04bade7a05a047ad6f080c4b in nifi's branch 
refs/heads/master from Otto Fowler
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=1330b92 ]

NIFI-5892 Wait timestamp lingers, potentially messing up downstream wait-notify 
pairs
Clear the wait timestamp when transferring to failur or success

replace explicit attribute clear with function call, refactor and integrate 
into existing tests per review

This closes #3233.

Signed-off-by: Koji Kawamura 


> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
>  Labels: patch-available
> Attachments: TestLingeringWaitTimestamps.xml
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-26 Thread Koji Kawamura (JIRA)


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

Koji Kawamura commented on NIFI-5892:
-

Thanks [~ottobackwards] for the PR. I'm reviewing it now. Will post few 
comments.

[~laashe] , adding another processor property to control whether to clear 
wait.* attributes would be convenient. But the default value should be 'false'. 
Because some use-cases depend on the result wait.counter attribute values to 
analyze context at the downstream flow, especially when using multiple counter 
names.

[~ottobackwards] I don't see the 'clear-wait-attribute' property added in the 
PR. Are you going to add it? I'm fine to not add the new 
'clear-wait-attributes' property because UpdateAttribute can do the job if 
needed. The simpler each processor the better I guess.

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
>  Labels: patch-available
> Attachments: TestLingeringWaitTimestamps.xml
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-24 Thread Lars Birger Aasheim (JIRA)


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

Lars Birger Aasheim commented on NIFI-5892:
---

Great, thanks! 

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
>  Labels: patch-available
> Attachments: TestLingeringWaitTimestamps.xml
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-21 Thread Otto Fowler (JIRA)


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

Otto Fowler commented on NIFI-5892:
---

[~laashe], [~ijokarumawak] patch pr submitted

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
>  Labels: patch-available
> Attachments: TestLingeringWaitTimestamps.xml
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-20 Thread Lars Birger Aasheim (JIRA)


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

Lars Birger Aasheim commented on NIFI-5892:
---

To solve the described problem, yes, but I guess there is no reason not to 
remove all wait.* attributes upon routing to the success relationship. This 
could be optional though, controlled by a true/false option in the processor. 
Personally I think such an option should be set to true by default (remove 
wait.* attributes).

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
> Attachments: TestLingeringWaitTimestamps.xml
>
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-19 Thread Otto Fowler (JIRA)


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

Otto Fowler commented on NIFI-5892:
---

Ok, just to sum up:  

removing the timestamp alone is what is required, everything else can work as 
documented?

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
> Attachments: TestLingeringWaitTimestamps.xml
>
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-18 Thread Koji Kawamura (JIRA)


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

Koji Kawamura commented on NIFI-5892:
-

[~ottobackwards] I'd leave default name blank. And if not specified, Wait 
processor works just the same. My idea is adding specified prefix to any wait 
related attribute so that the single FlowFile can be waited by few different 
Wait processors. E.g. using 3 Wait processors to wait for 'validation', 
'registration' and 'reporting' phases ... etc.
Having said that, while I was writing this comment, I'm just reminded that this 
use-case is already supported by 'Signal Counter Name'.

Now I think deleting 'wait.start.timestamp' is the best approach, as [~laashe] 
suggested. wait.counters.* can be left as is because if subsequent flow uses 
Wait processor again, 'Signal Counter Name' can be used to wait for different 
notification.

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
> Attachments: TestLingeringWaitTimestamps.xml
>
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-18 Thread Otto Fowler (JIRA)


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

Otto Fowler commented on NIFI-5892:
---

Thanks [~bende], I've been trying to keep that stuff in mind

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
> Attachments: TestLingeringWaitTimestamps.xml
>
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-18 Thread Bryan Bende (JIRA)


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

Bryan Bende commented on NIFI-5892:
---

We can't assume everyone is using NiFi Registry so we can add properties to 
processors like we always have.

Even with registry, it is a fairly specific scenario... if you had two 
environments like dev and prod, and you upgraded dev NiFi and it has a 
processor in a versioned flow with new properties you would then need to save 
the versioned flow to registry to capture the new properties. If you then went 
to prod it would show an upgrade on the flow which you could do even though you 
haven't upgrade prod NiFi yet, so if you do the upgrade then your processor 
becomes invalid because it doesn't have those properties. If you then delete 
those properties, now you made local changes again.

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
> Attachments: TestLingeringWaitTimestamps.xml
>
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-18 Thread Otto Fowler (JIRA)


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

Otto Fowler commented on NIFI-5892:
---

adding new properties may cause issues for registry manage flows won't it? 
[~bbende]?

What would you imagine the default name to be if not configured 
[~ijokarumawak]?  They would have to be unique, but consistent.

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
> Attachments: TestLingeringWaitTimestamps.xml
>
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-17 Thread Koji Kawamura (JIRA)


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

Koji Kawamura commented on NIFI-5892:
-

I think all Wait related attributes should be cleared to process the same 
FlowFile with another Wait processor. Adding a boolean property something like 
'Clear Successful Wait Attributes' with description to note that whether to 
clear wait related attributes when the FlowFiles wait activity is done, meaning 
when it gets routed to 'success'.

An alternative approach is adding a new optional processor property to specify 
'Wait Attribute Prefix'. This way, multiple Wait processors can be used for the 
same FlowFile without clearing previous attributes by separating attribute name 
spaces. Being able to keep attributes may be helpful at the subsequent flow. I 
think this approach will provide more flexibility.

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
> Attachments: TestLingeringWaitTimestamps.xml
>
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5892) Wait timestamp lingers, potentially messing up downstream wait-notify pairs

2018-12-12 Thread Otto Fowler (JIRA)


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

Otto Fowler commented on NIFI-5892:
---

I think the wait.counters.* would need to be cleared as well.

[~bbende]? [~joewitt]?

> Wait timestamp lingers, potentially messing up downstream wait-notify pairs
> ---
>
> Key: NIFI-5892
> URL: https://issues.apache.org/jira/browse/NIFI-5892
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Lars Birger Aasheim
>Assignee: Otto Fowler
>Priority: Minor
> Attachments: TestLingeringWaitTimestamps.xml
>
>
> The Wait processor makes use of the attribute "wait.start.timestamp" to keep 
> track of when it first encountered a flowfile. The observed behaviour is that 
> this attribute is set only if it does not exist, if else it is just checked 
> against the current time. With several wait-notify pairs in succession, there 
> is a likelihood that a flowfile will be routed directly to "expired" in one 
> of the downstream Wait processors due to a timestamp set upstream of it. I 
> suggest allowing an option of deleting the timestamp once a file is routed to 
> success (and perhaps also to expired). Currently I do this manually with an 
> UpdateAttribute processor.
>  
> Attached is a template with necessary components and also an explanation of 
> how to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)