You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Kohei Sugihara (Jira)" <ji...@apache.org> on 2023/05/17 17:02:00 UTC

[jira] [Updated] (HDDS-8636) Containers in schema V1 fail for replication after the 1.3.0 upgrade

     [ https://issues.apache.org/jira/browse/HDDS-8636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kohei Sugihara updated HDDS-8636:
---------------------------------
    Affects Version/s: 1.3.0

> Containers in schema V1 fail for replication after the 1.3.0 upgrade
> --------------------------------------------------------------------
>
>                 Key: HDDS-8636
>                 URL: https://issues.apache.org/jira/browse/HDDS-8636
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: Ozone Datanode
>    Affects Versions: 1.3.0
>            Reporter: Kohei Sugihara
>            Assignee: Kohei Sugihara
>            Priority: Major
>
> Containers with the schema version V1 fail for replication with NullPointerException. I will attach the stack trace taken by the debugger. Source revision is [our forked version|https://github.com/pfnet/ozone/tree/pfn-ozone-1.3.990004] (ozone-1.3 compatible).
>  
> {code:java}
> "ContainerReplicationThread-30@14206" daemon prio=5 tid=0x939 nid=NA runnable
>   java.lang.Thread.State: RUNNABLE
>       at org.apache.hadoop.ozone.container.keyvalue.helpers.KeyValueContainerLocationUtil.getContainerDBFile(KeyValueContainerLocationUtil.java:110)
>       at org.apache.hadoop.ozone.container.keyvalue.KeyValueContainer.getContainerDBFile(KeyValueContainer.java:824)
>       at org.apache.hadoop.ozone.container.keyvalue.KeyValueContainer.populatePathFields(KeyValueContainer.java:230)
>       at org.apache.hadoop.ozone.container.keyvalue.KeyValueHandler.populateContainerPathFields(KeyValueHandler.java:341)
>       at org.apache.hadoop.ozone.container.keyvalue.KeyValueHandler.importContainer(KeyValueHandler.java:976)
>       at org.apache.hadoop.ozone.container.ozoneimpl.ContainerController.importContainer(ContainerController.java:162)
>       at org.apache.hadoop.ozone.container.replication.DownloadAndImportReplicator.importContainer(DownloadAndImportReplicator.java:83)
>       at org.apache.hadoop.ozone.container.replication.DownloadAndImportReplicator.replicate(DownloadAndImportReplicator.java:121)
>       at org.apache.hadoop.ozone.container.replication.MeasuredReplicator.replicate(MeasuredReplicator.java:77)
>       at org.apache.hadoop.ozone.container.replication.ReplicationSupervisor$TaskRunner.run(ReplicationSupervisor.java:168)
>       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>       at java.lang.Thread.run(Thread.java:829) {code}
>  
> The problem is containerData.getSchemaVersion() returns null. I think container schema V1 does not have the 'schemaVersion' field in a .container YAML so that this code will fail with NPE.
> {code:java}
> /**
>  * Return containerDB File.
>  */
> public static File getContainerDBFile(KeyValueContainerData containerData) {
>   if (containerData.getSchemaVersion().equals(OzoneConsts.SCHEMA_V3)) {
>     return new File(containerData.getVolume().getDbParentDir(),
>         OzoneConsts.CONTAINER_DB_NAME);
>   }
>   return getContainerDBFile(containerData.getMetadataPath(), containerData);
> } {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org