Hm, I just ran this test another couple of times, but am still unable to 
reproduce it. I noticed that your EverythingIT test run takes almost twice as 
much time than mine, which might hint at some timing-related problem. 

Berofe adding some logging output to the server to find out what causes this 
problem, may I ask you to try the following: comment line 72 in oak-mk's 
HttpProcessor.java:

72:         socket.setSoTimeout(INITIAL_SO_TIMEOUT);

and re-run the test? This is just a wild guess, but perhaps the initial socket 
timeout of 1 second is too aggressive for the transfer of 32MB-sized blob.

Dominique

On May 24, 2012, at 12:14 PM, Michael Dürig wrote:

> 
> 
> On 24.5.12 10:59, Dominique Pfister wrote:
>> Hi Michi,
>> 
>> And you're sure you built and installed the latest oak-mk package, and are 
>> not accidentally refering to an old one that doesn't contain the fix made in 
>> OAK-12, namely to BoundaryInputStream?
> 
> I think so. I did svn up and mvn clean install -PintegrationTesting just 
> a couple of hours ago.
> 
> Michael
> 
>> 
>> Cheers
>> Dominique
>> 
>> On May 24, 2012, at 11:43 AM, Michael Dürig wrote:
>> 
>>> 
>>> Hi Dominique,
>>> 
>>> On 23.5.12 13:45, Dominique Pfister wrote:
>>>> Hi Michi,
>>>> 
>>>> On May 23, 2012, at 1:38 PM, Michael Dürig wrote:
>>>> 
>>>>> Didn't see it again up to now. I'll keep an eye on it. Is there any log
>>>>> data that would be helpful if this occurs again?
>>>> 
>>>> Unfortunately not (yet), if it reappears, I'll add a logger to the mk 
>>>> subproject and log messages in the server.
>>> 
>>> This just happens again. The output form the Maven build is
>>> 
>>> -------------------------------------------------------
>>>  T E S T S
>>> -------------------------------------------------------
>>> Running org.apache.jackrabbit.mk.test.EverythingIT
>>> java.io.IOException: Bad HTTP request line: 9?)c??:O?+?w
>>> 
>>> ?c9???'td???>????a"Y??#0??ˀ??+??4¨?:?0?1
>>> 
>>>                          #`#
>>> at org.apache.jackrabbit.mk.server.Request.parse(Request.java:72)
>>> at
>>> org.apache.jackrabbit.mk.server.HttpProcessor.process(HttpProcessor.java:100)
>>> at
>>> org.apache.jackrabbit.mk.server.HttpProcessor.process(HttpProcessor.java:75)
>>> at org.apache.jackrabbit.mk.server.Server.process(Server.java:169)
>>> at org.apache.jackrabbit.mk.server.Server$2.run(Server.java:131)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>> at java.lang.Thread.run(Thread.java:680)
>>> Tests run: 72, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 15.639
>>> sec<<<  FAILURE!
>>> 
>>> Results :
>>> 
>>> Tests in error:
>>>   testBlobs[1](org.apache.jackrabbit.mk.test.MicroKernelIT):
>>> java.net.SocketException: Broken pipe
>>> 
>>> Tests run: 72, Failures: 0, Errors: 1, Skipped: 0
>>> 
>>> 
>>> Stack trace from the logs:
>>> 
>>> -------------------------------------------------------------------------------
>>> Test set: org.apache.jackrabbit.mk.test.EverythingIT
>>> -------------------------------------------------------------------------------
>>> Tests run: 72, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 15.64
>>> sec<<<  FAILURE!
>>> testBlobs[1](org.apache.jackrabbit.mk.test.MicroKernelIT)  Time elapsed:
>>> 4.259 sec<<<  ERROR!
>>> org.apache.jackrabbit.mk.api.MicroKernelException:
>>> java.net.SocketException: Broken pipe
>>>     at
>>> org.apache.jackrabbit.mk.client.Client.toMicroKernelException(Client.java:372)
>>>     at org.apache.jackrabbit.mk.client.Client.write(Client.java:353)
>>>     at
>>> org.apache.jackrabbit.mk.test.MicroKernelIT.testBlobs(MicroKernelIT.java:855)
>>>     at
>>> org.apache.jackrabbit.mk.test.MicroKernelIT.testBlobs(MicroKernelIT.java:843)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>     at
>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
>>>     at
>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>>>     at
>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
>>>     at
>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>>>     at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>>>     at
>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
>>>     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
>>>     at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
>>>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>>>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>>>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>>>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>>>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>>>     at org.junit.runners.Suite.runChild(Suite.java:128)
>>>     at org.junit.runners.Suite.runChild(Suite.java:24)
>>>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>>>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>>>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>>>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>>>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>>>     at org.junit.runners.Suite.runChild(Suite.java:128)
>>>     at org.junit.runners.Suite.runChild(Suite.java:24)
>>>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>>>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>>>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>>>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>>>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>>>     at org.junit.runners.Suite.runChild(Suite.java:128)
>>>     at org.junit.runners.Suite.runChild(Suite.java:24)
>>>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>>>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>>>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>>>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>>>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>>>     at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>>>     at
>>> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:236)
>>>     at
>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:134)
>>>     at
>>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:113)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>     at
>>> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>>>     at
>>> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>>>     at
>>> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>>>     at
>>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
>>>     at 
>>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
>>> Caused by: java.net.SocketException: Broken pipe
>>>     at java.net.SocketOutputStream.socketWrite0(Native Method)
>>>     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
>>>     at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
>>>     at 
>>> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
>>>     at java.io.BufferedOutputStream.write(BufferedOutputStream.java:104)
>>>     at
>>> org.apache.jackrabbit.mk.util.ChunkedOutputStream.writeChunk(ChunkedOutputStream.java:119)
>>>     at
>>> org.apache.jackrabbit.mk.util.ChunkedOutputStream.write(ChunkedOutputStream.java:100)
>>>     at org.apache.jackrabbit.mk.util.IOUtils.copy(IOUtils.java:325)
>>>     at
>>> org.apache.jackrabbit.mk.client.HttpExecutor.execute(HttpExecutor.java:112)
>>>     at org.apache.jackrabbit.mk.client.Request.execute(Request.java:118)
>>>     at org.apache.jackrabbit.mk.client.Request.getString(Request.java:139)
>>>     at org.apache.jackrabbit.mk.client.Client.write(Client.java:351)
>>>     ... 57 more
>>> 
>>> 
>>> Michael
>> 

Reply via email to