Skip to content

S3DAO fails with HCP (Hitachi Content Platform) S3, Owner field missing in ListBuckets response #182

@abowman-unige

Description

@abowman-unige

Environment

  • seb-sps version: v1.2-latest
  • S3 provider: Hitachi Content Platform (HCP) v9.7.3.14
  • HCP S3 API enabled: yes (Hitachi API for Amazon S3)

Description

S3DAO.init() fails on startup when connecting to a Hitachi Content Platform S3 endpoint.
HCP's ListBuckets response does not include the element, which the MinIO client
requires as mandatory in ListAllMyBucketsResult.

Error log

sps-webservice | INFO [main]:[S3DAO] There is no certificate detected for S3 binding. Try without...
sps-webservice | ERROR [SERVICE_INIT] ---> Error printing buckets in S3 service
org.simpleframework.xml.core.ValueRequiredException: Unable to satisfy
@org.simpleframework.xml.Element(name="Owner", type=void.class, required=true)
on field 'owner' private io.minio.messages.Owner
io.minio.messages.ListAllMyBucketsResult.owner at line 1

Caused by: io.minio.errors.ErrorResponseException:
The XML you provided was not well-formed or was not valid.
at ch.ethz.seb.sps.server.datalayer.dao.impl.S3DAO.isBucketExisting(S3DAO.java:130)
at ch.ethz.seb.sps.server.datalayer.dao.impl.S3DAO.init(S3DAO.java:67)

Root cause

HCP returns a valid S3-compatible ListBuckets response but omits the block.
The MinIO client parses this response and throws because owner is annotated as
required=true

Standard AWS S3 and MinIO always include , but some S3-compatible providers
(HCP and potentially others) consider it optional per the S3 spec.

Expected behavior

Handle a missing field gracefully and continue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions