Bug #2447
url-escaped identifier values in ObjectLists / resolve failures
100%
Description
a listObject (http://cn-dev-2.dataone.org/cn/v1/object)
or search (http://cn-dev-2.dataone.org/cn/v1/search/solr/?q=*:*)
returns an objectList where the elements in the objectList contain not the real identifier values, but the url-escaped values. Mangling seems to be happening on subsequence resolve and get calls.
Subsequently, following the links causes failures:
for example:
where pid = testMNodeTier3:201260155133286_path-ascii-doc-example-10.1000/182
the url escaped form is: testMNodeTier3:201260155133286_path-ascii-doc-example-10.1000%2F182
a search of: http://cn-dev-2.dataone.org/cn/v1/search/solr?q=id:testMNodeTier3\:201260155133286*doc-example-10.1000*
yields:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/cn/xslt/dataone.types.v1.xsl" type="text/xsl"?>
testMNodeTier3:201260155133286_path-ascii-doc-example-10.1000%2F182
text/plain
4504b4dd97f2d7a4766dfaaa3f968ec2
2012-03-04T05:09:49.575Z
684336
/d1:objectList
this doesn't resolve:
https://demo3.test.dataone.org/knb/d1/mn/v1/object/testMNodeTier3:201260155133286_path-ascii-doc-example-10.1000%2F182
but if you escape the escaped slash (%2F becomes %252F) it resolves.
https://demo3.test.dataone.org/knb/d1/mn/v1/object/testMNodeTier3:201260155133286_path-ascii-doc-example-10.1000%252F182
Experience in the past indicates that there's probably problems with the apache settings, and decoding is happening before reaching where it needs.
Could be a problem with either the CN or the MN.
History
#1 Updated by Rob Nahf almost 13 years ago
- Category set to Environment.Development
- Priority changed from Normal to Urgent
- Assignee set to Robert Waltz
#2 Updated by Rob Nahf almost 13 years ago
- Subject changed from url-escaped identifier values in ObjectLists to url-escaped identifier values in ObjectLists / resolve failures
#3 Updated by Rob Nahf almost 13 years ago
- Assignee changed from Robert Waltz to Rob Nahf
- Status changed from New to In Progress
closer inspection seems to indicate that escaped identifiers were created in earlier tests, instead of what was assumed to be unescaped ones.
#4 Updated by Rob Nahf almost 13 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
problem was due to bad tests. Fixed tests.