Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

ECS: PUT- oder GET- oder DELETE-Anforderungen für Buckets mit Lebenszyklus-Policy (ohne Präfix) geben den 500-Fehler zurück.

Summary: Objekte in Buckets können nach der Erstellung der Lebenszyklus-Policy nicht ohne Vorliebe geschrieben oder gelesen oder gelöscht werden ()

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Nach der Erstellung einer Lebenszyklus-Policy (die kein Präfix hat) für den Bucket geben GET- oder PUT- oder DELETE-Objektanforderungen einen internen Fehler von 500 zurück. Der Listen-Bucket funktioniert einwandfrei.

Die Prüfung der vorhandenen Policy auf Objekt xxx mit Präfix null zeigt dies in dataheadsvc.log an.
2018-04-07T03:30:48,744 [qtp597531831-21452-0a20a979:162908dae63:2fef:17-s3-xx.xx.xx.xx]  INFO  ObjectExpirationUtil.java (line 33) Checking existing policy  for object testfile1 with prefix null
2018-04-07T03:30:48,745 [qtp597531831-21452-0a20a979:162908dae63:2fef:17-s3-xx.xx.xx.xx] ERROR  GeneralExceptionMapper.java (line 37) internal error
java.lang.NullPointerException
        at java.lang.String.startsWith(String.java:1405)
        at java.lang.String.startsWith(String.java:1434)
        at com.emc.storageos.data.object.expiration.ObjectExpirationUtil.getObjectExpirationDetails(ObjectExpirationUtil.java:42)
        at com.emc.storageos.data.object.RESTAccess.DataAccessLayer.getObjectInfo(DataAccessLayer.java:870)
        at com.emc.storageos.data.api.service.impl.resource.s3.operation.S3ObjectOperations.getObject(S3ObjectOperations.java:926)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
... ...
2018-04-07T03:30:48,751 [qtp597531831-21452]  INFO  RequestLog.java (line 83) xx.xx.xx.xxx GET //xx.xx.xx.xx:9020/test/testfile1 HTTP/1.1 500 9 - 111



 

Cause

Für AWS verfügt jede Regel über Element mit untergeordnetem Element: , , ist das erforderliche XML-Element, und ist optional (gilt für alle Objekte in Buckets).

Für ECS unterstützen wir nur filter und verfügen nicht über Element, das in der Anforderungs-XML-Datei entworfen wurde. ist kein erforderlicher Parameter, aber ein Ortscode verwendet direkt den Präfixwert (Nullpunkt), was hier zu Problemen führt. 

Resolution

Wenn ein Fehlerprotokoll wie im Feld "Problem" angezeigt wird, überprüfen Sie, ob der Lebenszyklus für den Bucket festgelegt ist und kein Präfix konfiguriert ist. Weitere Informationen zur Verwendung von s3curl.pl finden Sie im ECS-Leitfaden für den Datenzugriff

# ./s3curl.pl --id=test -- http://:9020//?lifecycle |xmllint --format -
#  ./s3curl.pl --id=test -- http://:9020//?lifecycle |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   285  100   285    0     0  23538      0 --:--:-- --:--:-- --:--:-- 23750


  
    
    Enabled
    
      10
    
    
  


If you confirm that hit this issue, the workaround prior to 3.2 is to add  in lifecycle.
This issue is fixed in 3.2.

Workaround:

1. Get current lifecycle setting and save to local file
#  ./s3curl.pl --id=test -- http://:9020//?lifecycle -o lifecycle.xml

#  ./s3curl.pl --id=test -- http://:9020//?lifecycle -o lifecycle.xml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   268  100   268    0     0  11926      0 --:--:-- --:--:-- --:--:-- 12181

2. Modify the lifecycle.xml and add prefix
# vi lifecycle.xml


  
    
                                               -->add this line
    Enabled
    
      10
    
  


3. Update lifecycle
#  ./s3curl.pl --id=test --put=lifecycle.xml http://xx.xx.xx.xx:9020//?lifecycle --calculateContentMd5 --debug

#  ./s3curl.pl --id=test --put=lifecycle.xml http://xx.xx.xx.xx:9020/fog-bbr-backup/?lifecycle --calculateContentMd5 --debug
s3curl: Found the url: host=xx.xx.xx.xx; port=9020; uri=/fog-bbr-backup/; query=lifecycle;
s3curl: replaced string: lifecycle
s3curl: ordinary endpoint signing case
s3curl: StringToSign='PUT\na4EIw7LnRPKpiAfSy/YHIQ==\n\nSat, 07 Apr 2018 05:11:32 +0000\n/fog-bbr-backup/?lifecycle'
s3curl: exec curl -v -H 'Date: Sat, 07 Apr 2018 05:11:32 +0000' -H 'Authorization: AWS pcf-fog-sys:4NFcmpx/3i0FBoJsFUJSabAlmGI=' -L -H 'content-type: ' -H 'Content-MD5: a4EIw7LnRPKpiAfSy/YHIQ==' -T lifecycle.xml http://xx.xx.xx.xx:9020/fog-bbr-backup/?lifecycle
* Hostname was NOT found in DNS cache
*   Trying xx.xx.xx.xx...
* Connected to xx.xx.xx.xx (xx.xx.xx.xx) port 9020 (#0)
> PUT /fog-bbr-backup/?lifecycle HTTP/1.1
> User-Agent: curl/7.37.0
> Host: xx.xx.xx.xx:9020
> Accept: */*
> Date: Sat, 07 Apr 2018 05:11:32 +0000
> Authorization: AWS pcf-fog-sys:4NFcmpx/3i0FBoJsFUJSabAlmGI=
> Content-MD5: a4EIw7LnRPKpiAfSy/YHIQ==
> Content-Length: 284
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< Date: Sat, 07 Apr 2018 05:11:32 GMT
* Server ViPR/1.0 is not blacklisted
< Server: ViPR/1.0
< x-amz-request-id: 0a23a338:1628835dec8:5cb3:19
< x-amz-id-2: a52c5da7cb5555375cef4f9172b03532652afc6cf67528d42451b0a3a20aad4a
< Content-Length: 0
<
* Connection #0 to host xx.xx.xx.xx left intact


4. Confirm lifecycle is updated.
#  ./s3curl.pl --id=test -- http://xx.xx.xx.xx:9020//?lifecycle |xmllint --format -

#  ./s3curl.pl --id=test -- http://xx.xx.xx.xx:9020/fog-bbr-backup/?lifecycle |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   285  100   285    0     0  23538      0 --:--:-- --:--:-- --:--:-- 23750


  
    
    
    Enabled
    
      10
    
    
  


5. Retry read/write/delete.

Affected Products

ECS Appliance Hardware Gen1 U-Series

Products

ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption, Elastic Cloud Storage
Article Properties
Article Number: 000057163
Article Type: Solution
Last Modified: 09 Feb 2023
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.