[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-17 Thread Andriy Redko (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16653827#comment-16653827
 ] 

Andriy Redko commented on CXF-7874:
---

Awesome, thanks a lot [~LWysocki], really appreciate it. [~coheigea] we are 
good to go, thanks!

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-17 Thread Lukasz Wysocki (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16653686#comment-16653686
 ] 

Lukasz Wysocki commented on CXF-7874:
-

Thank you [~reta], it seems the workaround you've implemented for !tomcat 
containers works (as tested in karaf/jetty).
The sink is removed from broadcaster and the onClose callback from broadcaster 
is also invoked.
As expected this happens with some delay (1 or 2 event sends later in my 
scenario).

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-17 Thread Andriy Redko (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16653544#comment-16653544
 ] 

Andriy Redko commented on CXF-7874:
---

Hey [~coheigea], waiting for feedback from user, thanks!

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-17 Thread Colm O hEigeartaigh (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16653535#comment-16653535
 ] 

Colm O hEigeartaigh commented on CXF-7874:
--

Can the Jira be resolved for now?

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-17 Thread Andriy Redko (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16653348#comment-16653348
 ] 

Andriy Redko commented on CXF-7874:
---

Thanks a lot, [~LWysocki].

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-17 Thread Lukasz Wysocki (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16653341#comment-16653341
 ] 

Lukasz Wysocki commented on CXF-7874:
-

On it. 
Might take some time as there are some dependency changes in 3.2.7 which i need 
to resolve before getting a working distribution of the stuff I'm working on.

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-17 Thread Andriy Redko (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16653334#comment-16653334
 ] 

Andriy Redko commented on CXF-7874:
---

Yes, absolutely, just pushed into master, thanks [~coheigea]!

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-17 Thread Colm O hEigeartaigh (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16653201#comment-16653201
 ] 

Colm O hEigeartaigh commented on CXF-7874:
--

[~reta] Should it be merged to master as well?

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-16 Thread Andriy Redko (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16652884#comment-16652884
 ] 

Andriy Redko commented on CXF-7874:
---

Hi [~LWysocki], just commit the change 
([https://github.com/apache/cxf/commit/829fbc63033eb64bc3aa5847b3717fff75ba05ea|https://github.com/apache/cxf/commit/829fbc63033eb64bc3aa5847b3717fff75ba05ea)]),
 this is for 3.2.x-fixes branch (3.2.7-SNAPSHOT). The code got significantly 
more complex but sinks should not be leaking. If you could give it a spin, 
would appreciated your feedback.Thank you.

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-16 Thread Colm O hEigeartaigh (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16651626#comment-16651626
 ] 

Colm O hEigeartaigh commented on CXF-7874:
--

[~reta] Yes no problem, thanks!

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-16 Thread Colm O hEigeartaigh (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16651475#comment-16651475
 ] 

Colm O hEigeartaigh commented on CXF-7874:
--

[~reta] Is this still targetted for CXF 3.2.7? We want to call a vote 
imminently...

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Fix For: 3.3.0, 3.2.7
>
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-15 Thread Lukasz Wysocki (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16649836#comment-16649836
 ] 

Lukasz Wysocki commented on CXF-7874:
-

Hi [~reta], Thanks for looking at this one.
Of course, I'll give it a spin -  no problem.

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-14 Thread Andriy Redko (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16649643#comment-16649643
 ] 

Andriy Redko commented on CXF-7874:
---

Hi [~LWysocki]

Thanks for this bug report. Indeed, the sink is not being moved off to closed 
state. It is notoriously difficult to detect the client disconnect conditions 
(on server side), which additionally varies from one servlet container to 
another. I think I have found the acceptable solution (basically relying on 
IOException), I should have a fix ready in the next few days. I am wondering if 
you would be able to help by giving it a try in your application? Thank you.

 

> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Assignee: Andriy Redko
>Priority: Major
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> My particular scenario is:
> Status notifications for devices manged by the server are sent to the client 
> (browser), this is a continues stream. That stream lives until browser 
> tab/window is closed, which results in client closing the underlying SSE 
> connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time the exception set in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue 
> {code}future.completeExceptionally(ex);{code} in case of channel being closed 
> is not acted upon internally within SseSinkImpl.



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


[jira] [Commented] (CXF-7874) JAX-RS SSE Leaking SSESink (s)

2018-10-12 Thread Lukasz Wysocki (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16647965#comment-16647965
 ] 

Lukasz Wysocki commented on CXF-7874:
-

the cxf-7874.reproduce.patch that is attached modifies:
systests/rs-sse/rs-sse-base/src/main/java/org/apache/cxf/systest/jaxrs/sse/AbstractSseTest.java
systests/rs-sse/rs-sse-base/src/main/java/org/apache/cxf/systest/jaxrs/sse/BookStore.java

that reproduces the problem. Note that this is not a test, it's my 
experimentation code, reproducing the problem.
The effect is that when running the jetty based tests rs-sse-jetty produces in 
the log:
...
[ERROR] 2018-10-12 16:22:36.259 o.a.cxf.systest.jaxrs.sse.BookStore - [] Sent 1
[ERROR] 2018-10-12 16:22:39.263 o.a.cxf.systest.jaxrs.sse.BookStore - [] Sent 2
[ERROR] 2018-10-12 16:22:40.264 o.a.cxf.systest.jaxrs.sse.BookStore - [] Sent 3
[ERROR] 2018-10-12 16:22:40.268 o.a.cxf.systest.jaxrs.sse.BookStore - [] 3 Sink 
isClosed?: false Got an exception org.eclipse.jetty.io.EofException
[ERROR] 2018-10-12 16:22:41.265 o.a.cxf.systest.jaxrs.sse.BookStore - [] 4 Sink 
isClosed?: false Got an exception org.eclipse.jetty.io.EofException: Closed
[ERROR] 2018-10-12 16:22:41.265 o.a.cxf.systest.jaxrs.sse.BookStore - [] Sent 4
[ERROR] 2018-10-12 16:22:42.267 o.a.cxf.systest.jaxrs.sse.BookStore - [] 5 Sink 
isClosed?: false Got an exception org.eclipse.jetty.io.EofException: Closed
[ERROR] 2018-10-12 16:22:42.267 o.a.cxf.systest.jaxrs.sse.BookStore - [] Sent 5
[ERROR] 2018-10-12 16:22:47.269 o.a.cxf.systest.jaxrs.sse.BookStore - [] 6 Sink 
isClosed?: false Got an exception org.eclipse.jetty.io.EofException: Closed
[ERROR] 2018-10-12 16:22:47.270 o.a.cxf.systest.jaxrs.sse.BookStore - [] Sent 6
[ERROR] 2018-10-12 16:22:47.270 o.a.cxf.systest.jaxrs.sse.BookStore - [] Close 
sink
[ERROR] 2018-10-12 16:22:47.270 o.a.cxf.systest.jaxrs.sse.BookStore - [] got 
onClose callback
...

Which matched to the patched code of BookStore.java shows that:
* No callback on SseSinkImpl when client closes the channel,
* that SseSink is open (isClosed=false), even dough client end is closed and we 
get repeted EofException for each send
* that SseBrodcaster also is not infored of Sink being closed
* and finally that sink is closed and removed from broadcaster only after 
server side sseSink.close() call

hence mentioned leakage of SseSinks in case where it is the client that is 
managing the lifetime of sse connection.


> JAX-RS SSE Leaking SSESink (s)
> --
>
> Key: CXF-7874
> URL: https://issues.apache.org/jira/browse/CXF-7874
> Project: CXF
>  Issue Type: Bug
>  Components: JAX-RS
>Affects Versions: 3.2.6
> Environment: Observed on karaf (jetty).
> Reproduced on jetty by modifying cxf SSE tests.
>Reporter: Lukasz Wysocki
>Priority: Major
> Attachments: cxf-7874.reproduce.patch
>
>
> Closing of SSE connection by client is not detected and handled on the server 
> part.
> This results in server leaking resources when it is the clients 
> responsibility for deciding on the lifetime of SSE connection.
> Scenario is status notifications of devices are sent to client (browser), 
> this is a continues stream that lives until browser tab/window is closed, 
> which results in client end closing the underlying connection.
> SseSinkImpl is not informed of connection being closed. 
> At the same time exception set on future in  
> org.apache.cxf.jaxrs.sse.SseEventSinkImpl#dequeue in case of channel being 
> closed is not acted upon internally within SseSinkImpl.



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