apache / apache/parquet-java

Encrypting the entire table is impossible

Offen
#1,645 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Component: Java Component: Parquet Priority: Major Type: bug
Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.6k
Ø Merge
3 T. 12 Std.
Gemergte PRs (30 T.)
33

Beschreibung

 

```java

public InternalColumnEncryptionSetup getColumnSetup(ColumnPath columnPath,
boolean createIfNull, int ordinal) {
InternalColumnEncryptionSetup internalColumnProperties = columnMap.get(columnPath);

if (null != internalColumnProperties) {
if (ordinal != internalColumnProperties.getOrdinal()) {
throw new ParquetCryptoRuntimeException("Column ordinal doesnt match " + columnPath +
": " + ordinal + ", "+internalColumnProperties.getOrdinal());
}
return internalColumnProperties;
}

------ here is always true, then throw Exception
if (!createIfNull) {
throw new ParquetCryptoRuntimeException("No encryption setup found for column " + columnPath);
}
if (fileCryptoMetaDataCreated) {
throw new ParquetCryptoRuntimeException("Re-use: No encryption setup for column " + columnPath);
}

```

**Environment**: Linux
**Reporter**: [ren shangtao](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=renshangtao)

**Note**: *This issue was originally created as [PARQUET-2174](https://issues.apache.org/jira/browse/PARQUET-2174). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, getColumnSetup(ColumnPath, boolean, int) und die im Issue gezeigte columnMap-Suche nachzuverfolgen. Reproduziere den gemeldeten Pfad, bei dem die createIfNull-Prüfung zu einer Exception führt, und verifiziere anschließend, dass das Verschlüsseln der gesamten Tabelle für diesen Fall nicht mehr fehlschlägt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
security
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.