ggershinsky commented on a change in pull request #8023:
URL: https://github.com/apache/arrow/pull/8023#discussion_r486786803



##########
File path: cpp/src/parquet/key_metadata.h
##########
@@ -0,0 +1,91 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+#pragma once
+
+#include <string>
+
+#include "parquet/key_material.h"
+
+namespace parquet {
+namespace encryption {
+
+// Parquet encryption specification defines "key metadata" as an arbitrary 
byte array,
+// generated by file writers for each encryption key, and passed to the low 
level API for
+// storage in the file footer . The "key metadata" field is made available to 
file readers
+// to enable recovery of the key. This simple interface can be utilized for 
implementation
+// of any key management scheme.
+//
+// The keytools package (PARQUET-1373) implements one approach, of many 
possible, to key
+// management and to generation of the "key metadata" fields. This approach, 
based on the
+// "envelope encryption" pattern, allows to work with KMS servers. It keeps 
the actual
+// material, required to recover a key, in a "key material" object (see the 
KeyMaterial
+// class for details).
+//
+// KeyMetadata class writes (and reads) the "key metadata" field as a flat 
json object,
+// with the following fields:
+// 1. "keyMaterialType" - a String, with the type of  key material. In the 
current

Review comment:
       this indeed can be ambiguous. I'd suggest removing the second part of 
the comment entirely, starting from "In the current version..". The main 
purpose of the comment is served by its first part.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to