def _getOrGeneratePartition(self, partitionId, key, createIfNotExists=False): by = self.partitionStore.readPartition(partitionId) self.log.info('getting partition: {}, bytestream object is: {}, createIfNotExists={}'.format(partitionId, by,createIfNotExists)) if not by and not createIfNotExists: raise SystemError('requested partition does not exist. Id: {}'.format(partitionId)) partition = KeyPartition(partitionId) if by: pc = PartitionCrypt(key) partition.deserializeFromBytesIO(pc.decryptBytesIO(by)) by.close() return partition
def storePartition(self, partition, key): if (30 > self.log.getEffectiveLevel()): partition.print() pc = PartitionCrypt(key) by = pc.encryptBytesIO(partition.serializeToBytesIO()) self.partitionStore.writePartition(partition.getId(), by)