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

Krishna Kumar Asawa updated HDDS-6925:
--------------------------------------
    Description: 
The behavior of renames with the OBJECT_STORE bucket isn't as expected.
* Rename of parent key isn't propagated to other child keys
* The orphaned parent is left out leaving objects unattended

{code:java}
[root@quasar-dsaqtf-1 ~]# ozone sh bucket create prefix67032/layout67032 -l 
OBJECT_STORE
22/06/18 16:39:06 INFO rpc.RpcClient: Creating Bucket: prefix67032/layout67032, 
with the Bucket Layout OBJECT_STORE, systest as owner, Versioning false, 
Storage Type set to DISK and Encryption set to false
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key put 
o3://ozone1/prefix67032/layout67032/SRCDIR67032/FILE1.txt anaconda-ks.cfg
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
o3://ozone1/prefix67032/layout67032
[ {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:43:43.185Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/FILE1.txt",
  "dataSize" : 3322,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:43:45.137Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
} ]
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key rename 
o3://ozone1/prefix67032/layout67032 "SRCDIR67032/FILE1.txt" "TGTDIR67120"
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
o3://ozone1/prefix67032/layout67032
[ {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:43:43.185Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "TGTDIR67120",
  "dataSize" : 3322,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:47:51.027Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
} ]

## One more observation
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key put 
o3://ozone1/prefix67032/layout67032/SRCDIR67032/SUBDIR1/SUBDIR2/FILE1.txt 
anaconda-ks.cfg

[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key rename 
o3://ozone1/prefix67032/layout67032 SRCDIR67032/SUBDIR1/ SRCDIR67032/SUBDIRNEW
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
o3://ozone1/prefix67032/layout67032
[ {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:43:43.185Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/SUBDIR1/SUBDIR2/",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T17:28:14.823Z",
  "modificationTime" : "2022-06-18T17:28:14.823Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/SUBDIR1/SUBDIR2/FILE1.txt",
  "dataSize" : 3322,
  "creationTime" : "2022-06-18T17:28:14.823Z",
  "modificationTime" : "2022-06-18T17:28:16.768Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/SUBDIRNEW",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T17:28:14.823Z",
  "modificationTime" : "2022-06-18T17:31:05.195Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "TGTDIR67120",
  "dataSize" : 3322,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:47:51.027Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
} ]
{code}



  was:
The behavior of renames with the OBJECT_STORE bucket isn't as expected.
* Rename of parent key isn't propagated to other child keys
* The orphaned parent is left out leaving objects unattended

{code:java}
[root@quasar-dsaqtf-1 ~]# ozone sh bucket create prefix67032/layout67032 -l 
OBJECT_STORE
22/06/18 16:39:06 INFO rpc.RpcClient: Creating Bucket: prefix67032/layout67032, 
with the Bucket Layout OBJECT_STORE, systest as owner, Versioning false, 
Storage Type set to DISK and Encryption set to false
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key put 
o3://ozone1/prefix67032/layout67032/SRCDIR67032/FILE1.txt anaconda-ks.cfg
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
o3://ozone1/prefix67032/layout67032
[ {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:43:43.185Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/FILE1.txt",
  "dataSize" : 3322,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:43:45.137Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
} ]
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key rename 
o3://ozone1/prefix67032/layout67032 "SRCDIR67032/FILE1.txt" "TGTDIR67120"
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
o3://ozone1/prefix67032/layout67032
[ {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:43:43.185Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "TGTDIR67120",
  "dataSize" : 3322,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:47:51.027Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
} ]

## One more observation
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key put 
o3://ozone1/prefix67032/layout67032/SRCDIR67032/SUBDIR1/SUBDIR2/FILE1.txt 
anaconda-ks.cfg

[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key rename 
o3://ozone1/prefix67032/layout67032 SRCDIR67032/SUBDIR1/ SRCDIR67032/SUBDIRNEW
[root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
o3://ozone1/prefix67032/layout67032
[ {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:43:43.185Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/SUBDIR1/SUBDIR2/",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T17:28:14.823Z",
  "modificationTime" : "2022-06-18T17:28:14.823Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/SUBDIR1/SUBDIR2/FILE1.txt",
  "dataSize" : 3322,
  "creationTime" : "2022-06-18T17:28:14.823Z",
  "modificationTime" : "2022-06-18T17:28:16.768Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "SRCDIR67032/SUBDIRNEW",
  "dataSize" : 0,
  "creationTime" : "2022-06-18T17:28:14.823Z",
  "modificationTime" : "2022-06-18T17:31:05.195Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
}, {
  "volumeName" : "prefix67032",
  "bucketName" : "layout67032",
  "name" : "TGTDIR67120",
  "dataSize" : 3322,
  "creationTime" : "2022-06-18T16:43:43.185Z",
  "modificationTime" : "2022-06-18T16:47:51.027Z",
  "replicationConfig" : {
    "replicationFactor" : "THREE",
    "requiredNodes" : 3,
    "replicationType" : "RATIS"
  }
} ]
{code}

NOTE: Not sure if it has resulted due to CDPD-41185 and fixing that issue can 
solve this as well.


> Atomic renames behavior with OBJECT_STORE not as expected
> ---------------------------------------------------------
>
>                 Key: HDDS-6925
>                 URL: https://issues.apache.org/jira/browse/HDDS-6925
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: Ozone Manager
>    Affects Versions: 1.3.0
>            Reporter: Soumitra Sulav
>            Priority: Major
>
> The behavior of renames with the OBJECT_STORE bucket isn't as expected.
> * Rename of parent key isn't propagated to other child keys
> * The orphaned parent is left out leaving objects unattended
> {code:java}
> [root@quasar-dsaqtf-1 ~]# ozone sh bucket create prefix67032/layout67032 -l 
> OBJECT_STORE
> 22/06/18 16:39:06 INFO rpc.RpcClient: Creating Bucket: 
> prefix67032/layout67032, with the Bucket Layout OBJECT_STORE, systest as 
> owner, Versioning false, Storage Type set to DISK and Encryption set to false
> [root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key put 
> o3://ozone1/prefix67032/layout67032/SRCDIR67032/FILE1.txt anaconda-ks.cfg
> [root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
> o3://ozone1/prefix67032/layout67032
> [ {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "SRCDIR67032/",
>   "dataSize" : 0,
>   "creationTime" : "2022-06-18T16:43:43.185Z",
>   "modificationTime" : "2022-06-18T16:43:43.185Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> }, {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "SRCDIR67032/FILE1.txt",
>   "dataSize" : 3322,
>   "creationTime" : "2022-06-18T16:43:43.185Z",
>   "modificationTime" : "2022-06-18T16:43:45.137Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> } ]
> [root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key rename 
> o3://ozone1/prefix67032/layout67032 "SRCDIR67032/FILE1.txt" "TGTDIR67120"
> [root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
> o3://ozone1/prefix67032/layout67032
> [ {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "SRCDIR67032/",
>   "dataSize" : 0,
>   "creationTime" : "2022-06-18T16:43:43.185Z",
>   "modificationTime" : "2022-06-18T16:43:43.185Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> }, {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "TGTDIR67120",
>   "dataSize" : 3322,
>   "creationTime" : "2022-06-18T16:43:43.185Z",
>   "modificationTime" : "2022-06-18T16:47:51.027Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> } ]
> ## One more observation
> [root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key put 
> o3://ozone1/prefix67032/layout67032/SRCDIR67032/SUBDIR1/SUBDIR2/FILE1.txt 
> anaconda-ks.cfg
> [root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key rename 
> o3://ozone1/prefix67032/layout67032 SRCDIR67032/SUBDIR1/ SRCDIR67032/SUBDIRNEW
> [root@quasar-dsaqtf-1 ~]# /opt/cloudera/parcels/CDH/bin/ozone sh key list 
> o3://ozone1/prefix67032/layout67032
> [ {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "SRCDIR67032/",
>   "dataSize" : 0,
>   "creationTime" : "2022-06-18T16:43:43.185Z",
>   "modificationTime" : "2022-06-18T16:43:43.185Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> }, {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "SRCDIR67032/SUBDIR1/SUBDIR2/",
>   "dataSize" : 0,
>   "creationTime" : "2022-06-18T17:28:14.823Z",
>   "modificationTime" : "2022-06-18T17:28:14.823Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> }, {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "SRCDIR67032/SUBDIR1/SUBDIR2/FILE1.txt",
>   "dataSize" : 3322,
>   "creationTime" : "2022-06-18T17:28:14.823Z",
>   "modificationTime" : "2022-06-18T17:28:16.768Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> }, {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "SRCDIR67032/SUBDIRNEW",
>   "dataSize" : 0,
>   "creationTime" : "2022-06-18T17:28:14.823Z",
>   "modificationTime" : "2022-06-18T17:31:05.195Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> }, {
>   "volumeName" : "prefix67032",
>   "bucketName" : "layout67032",
>   "name" : "TGTDIR67120",
>   "dataSize" : 3322,
>   "creationTime" : "2022-06-18T16:43:43.185Z",
>   "modificationTime" : "2022-06-18T16:47:51.027Z",
>   "replicationConfig" : {
>     "replicationFactor" : "THREE",
>     "requiredNodes" : 3,
>     "replicationType" : "RATIS"
>   }
> } ]
> {code}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to