Skip to content

Commit 23bb24b

Browse files
committed
fix for use of H5S_UNLIMITED in maxdims
1 parent 77042d8 commit 23bb24b

5 files changed

Lines changed: 6 additions & 12 deletions

File tree

hsds/domain_sn.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,6 @@ async def GET_Domain(request):
551551
kwargs = {"verbose": verbose, "getobjs": getobjs, "bucket": bucket}
552552
rsp_json = await getDomainResponse(app, domain_json, **kwargs)
553553

554-
555554
# include dn_ids if requested
556555
if "getdnids" in params and params["getdnids"]:
557556
rsp_json["dn_ids"] = app["dn_ids"]

hsds/dset_dn.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ async def PUT_DatasetShape(request):
290290
if i == extend_dim:
291291
lb = dims[i]
292292
ub = lb + extension
293-
if maxdims[extend_dim] != 0 and ub > maxdims[extend_dim]:
293+
if maxdims[extend_dim] not in (0, "H5S_UNLIMITED") and ub > maxdims[extend_dim]:
294294
msg = "maximum extent exceeded"
295295
log.warn(msg)
296296
raise HTTPConflict()

hsds/dset_lib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1007,7 +1007,7 @@ async def updateShape(app, dset_json, shape_update, bucket=None):
10071007
raise HTTPBadRequest(reason=msg)
10081008
decreasing_dims.append(i)
10091009
elif shape_update[i] > dims[i]:
1010-
if maxdims[i] != 0 and shape_update[i] > maxdims[i]:
1010+
if maxdims[i] not in (0, "H5S_UNLIMITED") and shape_update[i] > maxdims[i]:
10111011
msg = "Extension dimension can not be extended past max extent"
10121012
log.warn(msg)
10131013
raise HTTPConflict()

hsds/util/dsetUtil.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,6 @@ def getShapeJson(body):
5050
log.warn(msg)
5151
raise ValueError(msg)
5252

53-
if shape_class not in ("H5S_NULL", "H5S_SCALAR", "H5S_SIMPLE"):
54-
msg = f"invalid shape class: {shape_class}"
55-
log.warn(msg)
56-
raise ValueError(msg)
57-
5853
if shape_class in ("H5S_NULL", "H5S_SCALAR") and dims:
5954
msg = f"dims not valid for shape class: {body_shape}"
6055
log.warn(msg)

tests/integ/dataset_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -938,7 +938,7 @@ def testResizableUnlimitedDataset(self):
938938

939939
# create the dataset
940940
req = self.endpoint + "/datasets"
941-
payload = {"type": "H5T_IEEE_F32LE", "shape": [10, 20], "maxdims": [30, 0]}
941+
payload = {"type": "H5T_IEEE_F32LE", "shape": [10, 20], "maxdims": [30, "H5S_UNLIMITED"]}
942942
payload["creationProperties"] = {"fillValue": 3.12}
943943
req = self.endpoint + "/datasets"
944944
rsp = self.session.post(req, data=json.dumps(payload), headers=headers)
@@ -970,7 +970,7 @@ def testResizableUnlimitedDataset(self):
970970
self.assertEqual(shape["dims"][1], 20)
971971
self.assertTrue("maxdims" in shape)
972972
self.assertEqual(shape["maxdims"][0], 30)
973-
self.assertEqual(shape["maxdims"][1], 0)
973+
self.assertEqual(shape["maxdims"][1], "H5S_UNLIMITED")
974974

975975
# verify shape using the GET shape request
976976
req = req + "/shape"
@@ -987,7 +987,7 @@ def testResizableUnlimitedDataset(self):
987987
self.assertTrue("maxdims" in shape)
988988
self.assertEqual(len(shape["maxdims"]), 2)
989989
self.assertEqual(shape["maxdims"][0], 30)
990-
self.assertEqual(shape["maxdims"][1], 0)
990+
self.assertEqual(shape["maxdims"][1], "H5S_UNLIMITED")
991991

992992
# resize the second dimension to 500 elements
993993
payload = {"shape": [10, 500]}
@@ -1009,7 +1009,7 @@ def testResizableUnlimitedDataset(self):
10091009
self.assertTrue("maxdims" in shape)
10101010
self.assertEqual(len(shape["maxdims"]), 2)
10111011
self.assertEqual(shape["maxdims"][0], 30)
1012-
self.assertEqual(shape["maxdims"][1], 0)
1012+
self.assertEqual(shape["maxdims"][1], "H5S_UNLIMITED")
10131013

10141014
def testExtendDataset(self):
10151015
# test extending dataset

0 commit comments

Comments
 (0)