Hello,

I'm using alpakka 0.10, akka 2.5.3.

When using S3 multiUpload on a slow connection, I'm getting an error 
sometimes:

java.lang.RuntimeException: Cannot find etag
  at 
akka.stream.alpakka.s3.impl.S3Stream.$anonfun$chunkAndRequest$5(S3Stream.scala:218)
  at scala.Option.getOrElse(Option.scala:121)
  at 
akka.stream.alpakka.s3.impl.S3Stream.$anonfun$chunkAndRequest$1(S3Stream.scala:218)
  at akka.stream.impl.fusing.Map$$anon$7.onPush(Ops.scala:47)
  at 
akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:499)
  at 
akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:462)
  at 
akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:368)
  at 
akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:571)
  at 
akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:457)
  at 
akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:546)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:725)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:740)
  at akka.actor.Actor.aroundReceive(Actor.scala:513)
  at akka.actor.Actor.aroundReceive$(Actor.scala:511)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:650)
  at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527)
  at akka.actor.ActorCell.invoke(ActorCell.scala:496)
  at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
  at akka.dispatch.Mailbox.run(Mailbox.scala:224)
  at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
  at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
  at 
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
  at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
  at 
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

After digging a bit, I found that the response is 400 Bad request with

<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>RequestTimeout</Code>
  <Message>Your socket connection to the server was not read from or 
written to within the timeout period. Idle connections will be 
closed.</Message>
  <RequestId>...</RequestId>
  <HostId>...</HostId>
</Error>


Sometimes there is another error, I haven't explored that yet, but might be 
related:

akka.http.impl.engine.client.OutgoingConnectionBlueprint$UnexpectedConnectionClosureException:
 
The http server closed the connection unexpectedly before delivering 
responses for 1 outstanding requests
  at 
akka.http.impl.engine.client.OutgoingConnectionBlueprint$.$anonfun$apply$6(OutgoingConnectionBlueprint.scala:123)
  at 
akka.http.impl.engine.client.OutgoingConnectionBlueprint$.$anonfun$apply$6$adapted(OutgoingConnectionBlueprint.scala:123)
  at 
akka.http.impl.util.One2OneBidiFlow$One2OneBidi$$anon$1$$anon$4.onUpstreamFinish(One2OneBidiFlow.scala:96)
  at 
akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:484)
  at 
akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:368)
  at 
akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:571)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter$SimpleBoundaryEvent.execute(ActorGraphInterpreter.scala:42)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter$SimpleBoundaryEvent.execute$(ActorGraphInterpreter.scala:38)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter$BatchingActorInputBoundary$OnComplete.execute(ActorGraphInterpreter.scala:67)
  at 
akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:546)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:725)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:740)
  at akka.actor.Actor.aroundReceive(Actor.scala:513)
  at akka.actor.Actor.aroundReceive$(Actor.scala:511)
  at 
akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:650)
  at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527)
  at akka.actor.ActorCell.invoke(ActorCell.scala:496)
  at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
  at akka.dispatch.Mailbox.run(Mailbox.scala:224)
  at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
  at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
  at 
akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
  at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
  at 
akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)


Could you please recommend what to tune or how to work around this?

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to