Skip to content

Conversation

@smengcl
Copy link
Contributor

@smengcl smengcl commented Jun 28, 2023

What changes were proposed in this pull request?

This is a follow-up to HDDS-8166.

As a safety measure, if snapshot feature flag is disabled (ozone.filesystem.snapshot.enabled == false), block OM from starting up if there are still snapshots in the system (i.e. snapshotInfoTable is not empty).

This implies any deleted but not reclaimed snapshots will also block OM start up in this case, by design.

This should prevent issues with OM HA where some OM has ozone.filesystem.snapshot.enabled set to false but some still have it set to true. (e.g. if leader has it set to true but a follower has it set to false, when a snapshot request comes in, the follower OM would fail the Tx because the feature is disabled)

Related thought: do we have any OM configuration consistency check when an OM joins a quorum?

What is the link to the Apache JIRA

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

How was this patch tested?

  • Added mock UT.
  • Added integration test. -- Disabled for now. Pending investigation in HDDS-8945.

…rtup if there are still snapshots in the system
@smengcl smengcl added the snapshot https://issues.apache.org/jira/browse/HDDS-6517 label Jun 28, 2023
@smengcl smengcl requested a review from prashantpogde June 28, 2023 01:23
Copy link
Contributor

@prashantpogde prashantpogde left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks for the PR @smengcl
I believe config being different on different OM nodes is a separate issue. That can be discussed offline in another thread.

@smengcl smengcl merged commit 9434105 into apache:master Jun 28, 2023
@smengcl smengcl deleted the HDDS-8555 branch June 28, 2023 18:16
@smengcl
Copy link
Contributor Author

smengcl commented Jun 28, 2023

Thanks @prashantpogde for the review.

errose28 added a commit to errose28/ozone that referenced this pull request Jun 30, 2023
* master:
  HDDS-8555. [Snapshot] When snapshot feature is disabled, block OM startup if there are still snapshots in the system (apache#4994)
  HDDS-8782. Improve Volume Scanner Health checks. (apache#4867)
  HDDS-8447. Datanodes should not process container deletes for failed volumes. (apache#4901)
  HDDS-5869. Added support for stream on S3Gateway write path (apache#4970)
  HDDS-8859. [Snapshot] Return failure message to client for a failed snapshot diff jobs (apache#4993)
  HDDS-8939. [Snapshot] isBlockLocationSame check should be skipped if object is not OmKeyInfo. (apache#4991)
  HDDS-8923. Expose XceiverClient cache stats as metrics (apache#4979)
  HDDS-8913. ContainerManagerImpl: reduce processing while locked (apache#4967)
  HDDS-8935. [Snapshot] Fallback to full diff if getDetlaFiles from compaction DAG fails (apache#4986)
  HDDS-8911. Update Hadoop to 3.3.6 (apache#4985)
  HDDS-8931. Allow EC PipelineChoosingPolicy to be defined separately from Ratis (apache#4983)
  HDDS-8895. Support dynamic change of ozone.readonly.administrators in SCM (apache#4977)
  HDDS-6814. Make OM service ID optional for `ozone s3` commands if only one is defined in config (apache#4953)
  HDDS-8925. BaseFreonGenerator may not complete if last attempts fail (apache#4975)
  HDDS-7100. Container scanner incorrectly marks containers unhealthy when DN is shutdown (apache#4951)
  HDDS-8919. Allow EC pipelines to be created and then added to PipelineManager in two steps (apache#4968)
  HDDS-8901. Enable mTLS for InterSCMGrpcProtocol. (apache#4964)

Conflicts:
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/interfaces/Container.java
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainer.java
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainerCheck.java
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueHandler.java
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/ContainerTestUtils.java
vtutrinov pushed a commit to Cyrill/ozone that referenced this pull request Jul 3, 2023
vtutrinov pushed a commit to Cyrill/ozone that referenced this pull request Jul 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

snapshot https://issues.apache.org/jira/browse/HDDS-6517

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants