def get_updated_key_list(self, app_id, txid):
    txpath = self.get_transaction_path(app_id, txid)
    try:
      child_list = self.run_with_retry(self.handle.get_children, txpath)
      keylist = []
      for item in child_list:
        if re.match("^" + TX_UPDATEDKEY_PREFIX, item):
          keyandtx = self.run_with_retry(self.handle.get,
            PATH_SEPARATOR.join([txpath, item]))[0]
          key = urllib.unquote_plus(keyandtx.split(PATH_SEPARATOR)[0])
          txn_id = urllib.unquote_plus(keyandtx.split(PATH_SEPARATOR)[1])
          keylist.append((key, txn_id))
      return keylist
    except kazoo.exceptions.NoNodeError:
      raise ZKTransactionException("get_updated_key_list: Transaction ID {0} " \
        "is not valid.".format(txid))
    except kazoo.exceptions.KazooException as kazoo_exception:
      logging.exception(kazoo_exception)
      self.reestablish_connection()
      raise ZKTransactionException("Couldn't get updated key list for appid " \
        "{0}, txid {1}".format(app_id, txid))
Gets a list of keys updated in this transaction.
dataset/ETHPy150Open AppScale/appscale/AppDB/zkappscale/zktransaction.py/ZKTransaction.get_updated_key_list