-
Notifications
You must be signed in to change notification settings - Fork 344
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/ors http routing backend #215
Feature/ors http routing backend #215
Conversation
Thanks for the PR. Could you please resolve conflicts? Since you branched out from |
Sorry for the merge conflict. I forgot to configure our fork to sync with upstream, so I didn't notice the changes on a pull. |
To test this locally, I have setup a fresh ORS install checked out at 136e5510 on the Running
The query looks fine when outputted from
Am I missing something here? |
I think you are doing the right thing. I don't get it run on my local machine neither. Maybe we have some issue with the URL paths. I'll let you know as soon as I know more. |
If I may chime in: |
@nilsnolde I'm not sure whether this will solve the issue. I can request a matrix on my local instance as well as on our server without the endpoint |
Ok, I got it running locally by changing the path from |
@sfendrich jep, you're right about |
It looks as if the docker setting still somehow uses the old API even on the
|
That's fine @jcoupey, we still support both APIs for a year, so that won't change:) |
OK
Does not work for my local ORS setup. I unsuccessfully tried a couple variants of this direct request using curl:
|
Does it work on port 8082? |
No, I can't reach port 8082 after running |
I started a |
Did you make any progress? I overlooked the 404 hidden behind the scrollbar. Apparently the service is not running correctly or at a different URL. Here are a few things you could try for debugging:
|
Yes,
The Here is the full output for the |
Based on the health-check, my understanding is that |
Yes, that's right. The health-check indicates that the service is running and has loaded the graphs successfully. From the logs everything looks good. If the endpoint does not exist it might be that the matrix-service is deactivated in the app.config. Can you request a route? For example
|
Does not seem to be related with a service deactivated as the POST directions command also gives me a 404. For what it's worth, I'm not able to get a directions request either using GET: @sfendrich is this working for you locally on the ORS |
@jcoupey big sorry, I think this is related to: https://github.com/GIScience/openrouteservice/pull/435/files Can you please change the Dockerfile from
to
and rebuild the container? |
Thanks @TimMcCauley. Just patching the Dockerfile did not work, but rebuilding everything from your |
The POST request setup within I'm hitting an assertion:
due to the fact that
The weird thing is that the same route request using curl is ok.
@sfendrich Have you experienced this kind of behaviour? Can you reproduce with the test file? |
This looks like an HTTP issue. We have to check the header of ORS' response whether it it is sent in chunks. The 161 could be the size of the next data-chunk. |
The reason is Tomcat serving chunked transfer encoding. |
…/GIScience/vroom into feature/ors-http-routing-backend
Following several forum posts, it seems like tomcat has no option to disable chunked transfer encoding (CTE). They argue that the HTTP1.1 standard requires all parties to be able to understand CTE anyways, so there is no point about disabling it. The correct solution for HTTP1.1 would be to enable vroom to parse such messages. This also concerns the OSRM wrapper. A possible workaround that solved this issue on my setup is to request HTTP1.0, where CTE did not exist (member function |
@sfendrich thanks for investigating on this.
The current implementation for requests uses
I think the reason why this never hit us with OSRM is that
Is there any drawback on the ORS side for doing this? |
I don't think falling back to HTTP1.0 would have a major drawback as Tomcat handles the protocol version automatically. So, maybe this would be a good solution for this PR and reimplementing the HTTP1.1-parsing with boost.beast could be done in a separate issue as it has a broader scope. |
Yes, switching to HTTP/1.0 does the trick. I'm OK to go for that solution right now and ticket the move to 1.1 using boost.beast. |
@sfendrich I just did a nitpicking review. ;-) Ideally you could also run |
Done. |
I'd like to merge this PR in the As far as I can tell:
Are there plans to merge the docker edits any time soon? |
@jcoupey today, stay tuned - |
@jcoupey it is merged now into master. |
Issue
#206
Tasks