ECS: PUT- of GET- of DELETE-aanvragen op bucket met life-cycle policy (die geen voorvoegsel heeft) retourneert 500-fout

Resumen: Kan geen objecten schrijven of lezen of verwijderen op bucket na het maken van een levenscyclusbeleid zonder voorkeur ()

Este artículo se aplica a Este artículo no se aplica a Este artículo no está vinculado a ningún producto específico. No se identifican todas las versiones del producto en este artículo.

Síntomas

Na het maken van een levenscyclusbeleid (dat geen voorvoegsel heeft) op de bucket, retourneren GET of PUT of DELETE objectaanvragen 500 interne fout. List bucket werkt prima.

Het controleren van bestaande policy voor object xxx met prefix null geeft dit weer in dataheadsvc.log.
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



 

Causa

Voor AWS heeft elke regel element met het element Children: , , is vereist XML-element, en is optioneel (van toepassing op alle objecten in buckets).

Voor ECS ondersteunen we alleen filter en hebben we geen element ontworpen in request XML. is geen vereiste parameter, maar sommige plaatscode maakt gebruik van de prefix value direct (null point), wat hier een probleem veroorzaakt. 

Resolución

Als u een foutlogboek ziet zoals weergeven in het veld "Probleem", controleert u of de levenscyclus is ingesteld op de bucket en is er geen voorvoegsel geconfigureerd. Zie de ECS Data Access Guide voor meer informatie over het gebruik van s3curl.pl. 

# ./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.

Productos afectados

ECS Appliance Hardware Gen1 U-Series

Productos

ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption, Elastic Cloud Storage
Propiedades del artículo
Número del artículo: 000057163
Tipo de artículo: Solution
Última modificación: 09 feb. 2023
Versión:  3
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.