Project

General

Profile

Actions

Bug #14383

closed

[API] Java SDK double slash bug with arvados-controller

Added by Peter Amstutz over 5 years ago. Updated about 5 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Tom Morris
Category:
-
Target version:
Story points:
-
Release relationship:
Auto

Description

We found the origin of the problem with the java SDK, the bug is in the new API server or the SDK, you decide. The SDK will query URLs with a double forward slash: https://$ARVADOS_API_HOST//arvados/v1/collections. The old Arvados would perform these queries, bu the new one issue a redirect (301). We fixed it by removing this line: https://github.com/curoverse/arvados/blob/master/sdk/java/src/main/java/org/arvados/sdk/Arvados.java#L94

That's the new arvados-controller component being more strict.

We should remove this line a publish a new package.


Subtasks 1 (0 open1 closed)

Task #14608: Review 14383-java-sdk-double-slashResolvedPeter Amstutz02/13/2019Actions

Related issues

Related to Arvados - Idea #13497: [API] Initial "arvados-controller" server that proxies API endpoints to Rails serverResolvedTom Clegg06/15/2018Actions
Actions #1

Updated by Peter Amstutz over 5 years ago

  • Status changed from New to In Progress
Actions #2

Updated by Peter Amstutz over 5 years ago

  • Subject changed from Java SDK double slash to Java SDK double slash bug with arvados-controller
  • Description updated (diff)
  • Status changed from In Progress to New
Actions #3

Updated by Tom Morris over 5 years ago

  • Subject changed from Java SDK double slash bug with arvados-controller to [API] Java SDK double slash bug with arvados-controller

Actually, the correct fix is to fix the server so that it isn't breaking existing clients.

Actions #4

Updated by Tom Morris over 5 years ago

  • Target version set to 2018-11-14 Sprint
Actions #5

Updated by Tom Clegg over 5 years ago

I wonder why f0d62ea064d32b980f723e37972788cbd693c2ff didn't fix this. Merged Fri Jul 13 2018.

Actions #6

Updated by Tom Clegg over 5 years ago

  • Related to Idea #13497: [API] Initial "arvados-controller" server that proxies API endpoints to Rails server added
Actions #7

Updated by Tom Morris over 5 years ago

  • Assigned To set to Tom Morris
Actions #8

Updated by Tom Morris over 5 years ago

  • Target version changed from 2018-11-14 Sprint to 2018-11-28 Sprint
Actions #9

Updated by Tom Clegg over 5 years ago

Tom Morris wrote:

Actually, the correct fix is to fix the server so that it isn't breaking existing clients.

Continuing to tolerate client bugs that were tolerated before should be easy enough here. But the buggy client should still be fixed. API endpoints are "/arvados/...", not "//arvados/...".

Actions #10

Updated by Tom Morris over 5 years ago

  • Release set to 14
Actions #11

Updated by Tom Morris over 5 years ago

  • Target version changed from 2018-11-28 Sprint to 2018-12-12 Sprint
  • Release deleted (14)
Actions #12

Updated by Tom Morris over 5 years ago

  • Target version changed from 2018-12-12 Sprint to 2018-12-21 Sprint
Actions #13

Updated by Tom Clegg over 5 years ago

Tom Clegg wrote:

I wonder why f0d62ea064d32b980f723e37972788cbd693c2ff didn't fix this. Merged Fri Jul 13 2018.

That "fix path transparently" bit doesn't apply to GET reqs, because following a 301 redirect doesn't change the request method. If a client simply can't handle redirects, even GET requests fail.

I think it's OK to say clients need to be able to follow 301 redirects -- especially clients that aren't paying attention to the paths specified in the discovery doc.

The best fix would be to make Java SDK follow redirects, and fix that broken path to avoid the extra request.

Actions #14

Updated by Tom Morris over 5 years ago

  • Target version changed from 2018-12-21 Sprint to 2019-01-16 Sprint
Actions #15

Updated by Tom Morris over 5 years ago

  • Target version changed from 2019-01-16 Sprint to 2019-01-30 Sprint
Actions #16

Updated by Tom Morris about 5 years ago

  • Status changed from New to In Progress
  • Target version changed from 2019-01-30 Sprint to 2019-02-13 Sprint
Actions #17

Updated by Tom Morris about 5 years ago

  • Target version changed from 2019-02-13 Sprint to 2019-02-27 Sprint
Actions #18

Updated by Peter Amstutz about 5 years ago

LGTM

Actions #19

Updated by Tom Morris about 5 years ago

  • Status changed from In Progress to Resolved
Actions #20

Updated by Tom Morris about 5 years ago

  • Release set to 15
Actions

Also available in: Atom PDF