Skip to content

Conversation

@kaijchen
Copy link
Member

@kaijchen kaijchen commented Jun 27, 2022

What changes were proposed in this pull request?

Cluster-level replication for EC was introduced in HDDS-6294.
When client side and bucket level replication config are both missing,
client will pass null as replication config to let OM decide.

The first problem is NPE in createStreamKey() if replication config is null.
The second problem is, since streaming is not compatible for writing EC keys,
we cannot determine when to use streaming just by key size and client side replication config.

In this PR, I have added a explicit --stream flag in ozone shell key handler.
In stream mode, replication config will fallback to client side defaults when missing.
And it will be checked to ensure not using streaming to write an EC key.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-6955

How was this patch tested?

Manual test

ozone sh --verbose key put --stream /vol1/bucket1/key1 data

@kaijchen kaijchen marked this pull request as draft June 29, 2022 08:45
@kaijchen kaijchen marked this pull request as ready for review June 29, 2022 09:54
@kaijchen
Copy link
Member Author

@captainzmc @szetszwo PTAL, thanks.

Copy link
Contributor

@szetszwo szetszwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kaijchen , thanks for working on this. Some comments inlined. See also https://issues.apache.org/jira/secure/attachment/13046110/3559_review.patch

@kaijchen
Copy link
Member Author

kaijchen commented Jul 1, 2022

@szetszwo Thanks for the improvement.

@captainzmc
Copy link
Member

Thanks @kaijchen working on this. Since HDDS-4454 has been rebase, can you rebase the PR?

@kaijchen
Copy link
Member Author

kaijchen commented Jul 5, 2022

Thanks @kaijchen working on this. Since HDDS-4454 has been rebase, can you rebase the PR?

Sure. I have rebased this PR to HDDS-4454.

Copy link
Member

@captainzmc captainzmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 The change looks good. Thanks @kaijchen for the patch, and thanks @szetszwo for the review.

@captainzmc captainzmc merged commit 4c7151b into apache:HDDS-4454 Jul 12, 2022
@kaijchen
Copy link
Member Author

Thanks @szetszwo and @captainzmc for the review.

@kaijchen kaijchen deleted the HDDS-6955 branch July 12, 2022 10:58
szetszwo pushed a commit that referenced this pull request Oct 25, 2022
…3559)

* Add stream option in ozone sh key

(cherry picked from commit 4c7151b)
(cherry picked from commit c84da64fbcd34e62b17f1bd2a52238b0497952e8)
szetszwo pushed a commit that referenced this pull request Nov 7, 2022
…3559)

* Add stream option in ozone sh key

(cherry picked from commit 4c7151b)
(cherry picked from commit c84da64fbcd34e62b17f1bd2a52238b0497952e8)
(cherry picked from commit 653a120)
szetszwo pushed a commit that referenced this pull request Dec 1, 2022
szetszwo pushed a commit that referenced this pull request Dec 16, 2022
nishitpatira pushed a commit to nishitpatira/ozone that referenced this pull request Dec 16, 2022
errose28 added a commit to errose28/ozone that referenced this pull request Dec 21, 2022
* master: (88 commits)
  HDDS-7463. SCM Pipeline scrubber never able to cleanup allocated pipeline. (apache#4093)
  HDDS-7683. EC: ReplicationManager - UnderRep maintenance handler should not request nodes if none needed (apache#4109)
  HDDS-7635. Update failure metrics when allocate block fails in preExecute. (apache#4086)
  HDDS-7565. FSO purge directory for old bucket can update quota for new bucket (apache#4021)
  HDDS-7654. EC: ReplicationManager - merge mis-rep queue into under replicated queue (apache#4099)
  HDDS-7621. Update SCM term in datanode from heartbeat without any commands (apache#4101)
  HDDS-7649. S3 multipart upload EC release space quota wrong for old version (apache#4095)
  HDDS-7399. Enable specifying external root ca (apache#4053)
  HDDS-7398. Tool to remove old certs from the scm db (apache#3972)
  HDDS-6650. S3MultipartUpload support update bucket usedNamespace. (apache#4081)
  HDDS-7605. Improve logging in Container Balancer (apache#4067)
  HDDS-7616. EC: Refactor Unhealthy Replicated Processor (apache#4063)
  HDDS-7426. Add a new acceptance test for Streaming Pipeline. (apache#4019)
  HDDS-7478. [Ozone-Streaming] NPE in when creating a file with o3fs. (apache#3949)
  HDDS-7425. Add documentation for the new Streaming Pipeline feature. (apache#3913)
  HDDS-7438. [Ozone-Streaming] Add a createStreamKey method to OzoneBucket. (apache#3914)
  HDDS-7431. [Ozone-Streaming] Disable data steam by default. (apache#3900)
  HDDS-6955. [Ozone-streaming] Add explicit stream flag in ozone shell (apache#3559)
  HDDS-6867.  [Ozone-Streaming] PutKeyHandler should not use streaming to put EC key. (apache#3516)
  HDDS-6842. [Ozone-Streaming] Reduce the number of watch requests in StreamCommitWatcher. (apache#3492)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants