def execute_on_key_owner(self, key, task):
check_not_none(key, "<STR_LIT>")<EOL>key_data = self._to_data(key)<EOL>partition_id = self._client.partition_service.get_partition_id(key_data)<EOL>uuid = self._get_uuid()<EOL>return self._encode_invoke_on_partition(executor_service_submit_to_partition_codec, partition_id,<EOL>uuid=uuid, callable=self._to_data(task),<EOL>partition_id=partition_id)<EOL>
Executes a task on the owner of the specified key.

:param key: (object), the specified key.
:param task: (Task), a task executed on the owner of the specified key.
:return: (:class:`~hazelcast.future.Future`), future representing pending completion of the task.