[jira] [Created] (WICKET-6767) Do not log error for broken pipes in websocket connections

2020-04-10 Thread Thomas Heigl (Jira)
Thomas Heigl created WICKET-6767:


 Summary: Do not log error for broken pipes in websocket connections
 Key: WICKET-6767
 URL: https://issues.apache.org/jira/browse/WICKET-6767
 Project: Wicket
  Issue Type: Improvement
  Components: wicket-native-websocket
Affects Versions: 9.0.0-M4
Reporter: Thomas Heigl
Assignee: Martin Tzvetanov Grigorov


We had some "IOException: Broken pipe" errors on production:

{code:java}
 Apr 10 14:34:26  ERR o.a.w.p.w.j.WicketEndpoint An error occurred in web 
socket connection with id : f2d
 Apr 10 14:34:26  #011java.io.IOException java.io.IOException: Broken pipe
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:315)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:258)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:612)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:532)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:347)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:289)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
 Apr 10 14:34:26  #011at 
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
 Apr 10 14:34:26  #011at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
 Apr 10 14:34:26  #011at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 Apr 10 14:34:26  #011at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 Apr 10 14:34:26  #011at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 Apr 10 14:34:26  #011at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 Apr 10 14:34:26  #011at java.base/java.lang.Thread.run(Thread.java:834)
 Apr 10 14:34:26  #011Caused by: java.io.IOException: Broken pipe 
{code}

There already is condition that checks for EOFException in WicketEndpoint. 
Maybe it could be extended to broken pipes?

{code}
@Override
public void onError(Session session, Throwable t)
{
if (t instanceof EOFException)
{
LOG.debug("An error occurred in web socket connection 
with id : {}", session.getId(), t);
}
else
{
LOG.error("An error occurred in web socket connection 
with id : {}", session.getId(), t);
}
}
{code}

My only option at the moment is to completely turn off logging for 
WicketEndpoint.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6766) Keep page ids in tests like they where in Wicket 8

2020-04-10 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17080282#comment-17080282
 ] 

ASF subversion and git services commented on WICKET-6766:
-

Commit 771c957a337937ef501a32ead39c0094c5543d8f in wicket's branch 
refs/heads/master from Sven Meier
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=771c957 ]

WICKET-6766 same page manager setup for tests as in Wicket 8

> Keep page ids in tests like they where in Wicket 8
> --
>
> Key: WICKET-6766
> URL: https://issues.apache.org/jira/browse/WICKET-6766
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket
>Affects Versions: 9.0.0-M5
>Reporter: Sven Meier
>Assignee: Sven Meier
>Priority: Trivial
> Fix For: 9.0.0-M6
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (WICKET-6766) Keep page ids in tests like they where in Wicket 8

2020-04-10 Thread Sven Meier (Jira)


 [ 
https://issues.apache.org/jira/browse/WICKET-6766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sven Meier resolved WICKET-6766.

Resolution: Fixed

> Keep page ids in tests like they where in Wicket 8
> --
>
> Key: WICKET-6766
> URL: https://issues.apache.org/jira/browse/WICKET-6766
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket
>Affects Versions: 9.0.0-M5
>Reporter: Sven Meier
>Assignee: Sven Meier
>Priority: Trivial
> Fix For: 9.0.0-M6
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[wicket] branch master updated: WICKET-6766 same page manager setup for tests as in Wicket 8

2020-04-10 Thread svenmeier
This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
 new 771c957  WICKET-6766 same page manager setup for tests as in Wicket 8
771c957 is described below

commit 771c957a337937ef501a32ead39c0094c5543d8f
Author: Sven Meier 
AuthorDate: Fri Apr 10 08:49:22 2020 +0200

WICKET-6766 same page manager setup for tests as in Wicket 8
---
 .../org/apache/wicket/mock/MockPageManager.java|  2 +-
 .../wicket/util/tester/BaseWicketTester.java   |  5 ++--
 .../wicket/devutils/pagestore/PageStorePage.java   | 29 ++
 3 files changed, 22 insertions(+), 14 deletions(-)

diff --git 
a/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java 
b/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java
index 9c5216a..11ad207 100644
--- a/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java
+++ b/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java
@@ -35,7 +35,7 @@ public class MockPageManager implements IPageManager
@Override
public boolean supportsVersioning()
{
-   return false;
+   return true;
}

@Override
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index 01b1e29..254ae38 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -92,11 +92,10 @@ import org.apache.wicket.markup.html.link.ResourceLink;
 import org.apache.wicket.markup.parser.XmlPullParser;
 import org.apache.wicket.markup.parser.XmlTag;
 import org.apache.wicket.mock.MockApplication;
-import org.apache.wicket.mock.MockPageStore;
+import org.apache.wicket.mock.MockPageManager;
 import org.apache.wicket.mock.MockRequestParameters;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.page.IPageManager;
-import org.apache.wicket.page.PageManager;
 import org.apache.wicket.protocol.http.AjaxEnclosureListener;
 import org.apache.wicket.protocol.http.IMetaDataBufferingWebResponse;
 import org.apache.wicket.protocol.http.WebApplication;
@@ -2785,7 +2784,7 @@ public class BaseWicketTester
@Override
public IPageManager get()
{
-   return new PageManager(new MockPageStore());
+   return new MockPageManager();
}
}
 
diff --git 
a/wicket-devutils/src/main/java/org/apache/wicket/devutils/pagestore/PageStorePage.java
 
b/wicket-devutils/src/main/java/org/apache/wicket/devutils/pagestore/PageStorePage.java
index 0714fd7..63aed02 100644
--- 
a/wicket-devutils/src/main/java/org/apache/wicket/devutils/pagestore/PageStorePage.java
+++ 
b/wicket-devutils/src/main/java/org/apache/wicket/devutils/pagestore/PageStorePage.java
@@ -54,18 +54,27 @@ public class PageStorePage extends DevUtilsPage
return false;
}

+   /**
+* Helper to find the {@link IPersistentPageStore} of the application.
+* 
+* @return store or null if not available
+*/
public static IPersistentPageStore getPersistentPageStore() {
-   IPageStore store = 
Session.get().getPageManager().getPageStore();
-   while (true) {
-   if (store instanceof IPersistentPageStore) {
-   return (IPersistentPageStore)store;
-   }
-   
-   if (store instanceof DelegatingPageStore) {
-   store = 
((DelegatingPageStore)store).getDelegate();
-   } else {
-   break;
+   try {
+   IPageStore store = 
Session.get().getPageManager().getPageStore();
+   while (true) {
+   if (store instanceof IPersistentPageStore) {
+   return (IPersistentPageStore)store;
+   }
+   
+   if (store instanceof DelegatingPageStore) {
+   store = 
((DelegatingPageStore)store).getDelegate();
+   } else {
+   break;
+   }
}
+   } catch (UnsupportedOperationException ex) {
+   // no page store
}

return null;



[jira] [Created] (WICKET-6766) Keep page ids in tests like they where in Wicket 8

2020-04-10 Thread Sven Meier (Jira)
Sven Meier created WICKET-6766:
--

 Summary: Keep page ids in tests like they where in Wicket 8
 Key: WICKET-6766
 URL: https://issues.apache.org/jira/browse/WICKET-6766
 Project: Wicket
  Issue Type: Improvement
  Components: wicket
Affects Versions: 9.0.0-M5
Reporter: Sven Meier
Assignee: Sven Meier
 Fix For: 9.0.0-M6






--
This message was sent by Atlassian Jira
(v8.3.4#803005)