This is now tracked at https://github.com/akka/akka/issues/16865

The reason I'm trying to test this stuff is to verify that our server works 
re "Responding to requests early" -- see this thread 
https://groups.google.com/forum/#!topic/akka-user/MK8Ug9vV2K4

I'm now finding that some similar tests fail with a list of length 1 on 
RHEL. 
I'll see if I can enhance the isolated repro case so that it fails on 
linux. (I think one main difference is request body size.)
I think that TCP buffer sizes play a part here, which might explain the 
Windows / Linux difference in this isolated example.

I'm fairly convinced that the HTTP client in 1.0-M3 fails in a lot of edge 
cases. We are currently using an HTTP client backed by 
java.net.HttpURLConnection to avoid these issues, but I was hoping to be 
able to use the Akka HTTP client soon.

Thanks,


Rich


On Thursday, February 12, 2015 at 11:37:26 AM UTC, Patrik Nordwall wrote:
>
> Thanks for reporting the issue.
>
> On Thu, Feb 12, 2015 at 11:51 AM, Richard Bradley <
> [email protected] <javascript:>> wrote:
>
>> As I feared, I can confirm that the above test passes on RHEL 6.5 and 
>> fails on Windows 7 (I've tried two different Win7 machines).
>>
>> Both are using Java 1.6.0_20 64-Bit, Scala 2.11.4 and 
>> akka-http-experimental 1.0-M3.
>>
>> Does anyone have any ideas how I might go about diagnosing / fixing?
>>
>> I suppose I'll grab a network trace and look at some actor message logs 
>> to start.
>>
>> I'll raise an issue.
>>
>>
>>
>> On Thursday, February 12, 2015 at 10:23:44 AM UTC, Patrik Nordwall wrote:
>>
>>>
>>>
>>> On Thu, Feb 12, 2015 at 11:21 AM, Richard Bradley <richard.brad...@
>>> gmail.com> wrote:
>>>
>>>> Thanks for trying.
>>>> I get only one response out: "'1' is not equal to '2'"
>>>>
>>>> I am now using "com.typesafe.akka" % "akka-http-experimental_2.11" 
>>>> % "1.0-M3"
>>>>
>>>> I'm also using Java 1.6.0_21 x64 on Windows 7 with Scala 2.11.4
>>>>
>>>> Are you on unix? I'll try on a linux box and see if that makes a 
>>>> difference.
>>>>
>>>
>>> yes, please do
>>>
>>> I'm on mac osx
>>>  
>>>
>>>>
>>>>
>>>> On Thursday, February 12, 2015 at 9:54:07 AM UTC, Patrik Nordwall wrote:
>>>>>
>>>>> Hi Rich,
>>>>>
>>>>> I see two 200 OK responses when I try to run that.
>>>>> I use latest code, which should correspond to 1.0-M3.
>>>>>
>>>>> /Patrik
>>>>>
>>>>> On Wed, Feb 11, 2015 at 4:12 PM, Richard Bradley <richard.brad...@
>>>>> gmail.com> wrote:
>>>>>
>>>>>> I feel like I'm missing something obvious here, but I can't get this 
>>>>>> to work.
>>>>>>
>>>>>> Please could someone tell me why the following test fails?
>>>>>> I'm using "akka-stream-and-http-experimental-1.0-M2"
>>>>>>
>>>>>> import akka.actor.ActorSystem
>>>>>> import akka.http.Http
>>>>>> import akka.http.model.{HttpResponse, StatusCodes, HttpRequest}
>>>>>> import akka.stream.FlowMaterializer
>>>>>> import akka.stream.scaladsl.{Sink, Source}
>>>>>> import org.specs2.mutable.Specification
>>>>>> import org.specs2.time.NoTimeConversions
>>>>>> import scala.concurrent.Await
>>>>>> import scala.concurrent.duration._
>>>>>>
>>>>>>
>>>>>> class ReuseConnectionSpec
>>>>>>   extends Specification
>>>>>>   with NoTimeConversions {
>>>>>>
>>>>>>
>>>>>>   "two requests on the same connection" should {
>>>>>>     "give two responses" in {
>>>>>>
>>>>>>
>>>>>>       val responses = sendRequestsOnSameConnection(
>>>>>>         "example.com",
>>>>>>         HttpRequest(uri = "/"),
>>>>>>         HttpRequest(uri = "/"))
>>>>>>
>>>>>>
>>>>>>       responses.length mustEqual 2
>>>>>>       responses must beLike {
>>>>>>         case List(first, second) =>
>>>>>>           first.status mustEqual StatusCodes.OK
>>>>>>
>>>>>>
>>>>>>           second.status mustEqual StatusCodes.OK
>>>>>>       }
>>>>>>     }
>>>>>>   }
>>>>>>
>>>>>>
>>>>>>   private implicit val system = ActorSystem()
>>>>>>   private implicit val fm = FlowMaterializer()
>>>>>>
>>>>>>
>>>>>>   private def sendRequestsOnSameConnection(
>>>>>>     hostname: String,
>>>>>>     requests: HttpRequest*
>>>>>>   ): List[HttpResponse] = {
>>>>>>
>>>>>>
>>>>>>     val http = Http()
>>>>>>     val connection = http.outgoingConnection(hostname)
>>>>>>
>>>>>>
>>>>>>     val responses = Source(requests.toList)
>>>>>>       .via(connection.flow)
>>>>>>       .runWith(Sink.fold(List[HttpResponse]())(_ :+ _))
>>>>>>
>>>>>>
>>>>>>     Await.result(responses, 10.seconds)
>>>>>>   }
>>>>>> }
>>>>>>
>>>>>>
>>>>>> Thanks very much,
>>>>>>
>>>>>>
>>>>>>
>>>>>> Rich
>>>>>>
>>>>>>  -- 
>>>>>> >>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>> >>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/c
>>>>>> urrent/additional/faq.html
>>>>>> >>>>>>>>>> Search the archives: https://groups.google.com/grou
>>>>>> p/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 http://groups.google.com/group/akka-user.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>>
>>>>> Patrik Nordwall
>>>>> Typesafe <http://typesafe.com/> -  Reactive apps on the JVM
>>>>> Twitter: @patriknw
>>>>>
>>>>> [image: Scala Days] 
>>>>> <http://event.scaladays.org/scaladays-sanfran-2015>
>>>>>
>>>>>   -- 
>>>> >>>>>>>>>> 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 http://groups.google.com/group/akka-user.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> -- 
>>>
>>> Patrik Nordwall
>>> Typesafe <http://typesafe.com/> -  Reactive apps on the JVM
>>> Twitter: @patriknw
>>>
>>> [image: Scala Days] <http://event.scaladays.org/scaladays-sanfran-2015>
>>>
>>>   -- 
>> >>>>>>>>>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
>
> Patrik Nordwall
> Typesafe <http://typesafe.com/> -  Reactive apps on the JVM
> Twitter: @patriknw
>
> [image: Scala Days] <http://event.scaladays.org/scaladays-sanfran-2015>
>
>  

-- 
>>>>>>>>>>      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 http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to