Skip to content

TypeError: StoredFunction.__init__() got an unexpected keyword argument 'hmac_key' #5495

Open

Description

@mcompen

PySDK Version

  • PySDK V2 (2.x)
  • PySDK V3 (3.x)

Describe the bug
Upon using the step decorator, I receive errors supposedly at function bootstrap time. The logs erroneously indicate the step was run successfully.

To reproduce

from sagemaker.mlops.local.local_pipeline_session import LocalPipelineSession
from sagemaker.mlops.workflow.function_step import step
from sagemaker.mlops.workflow.pipeline import Pipeline


@step(
    image_uri="public.ecr.aws/sagemaker/sagemaker-distribution:3.7.0-cpu",
    instance_type="ml.m5.large",
)
def preprocess() -> None:
    print("Preprocessing step")


if __name__ == "__main__":
    name = "test"
    res_preprocess = preprocess()
    session = LocalPipelineSession()
    pipeline = Pipeline(
        name=name,
        steps=[preprocess()],
        sagemaker_session=session,
    )
    session.create_pipeline(pipeline=pipeline, pipeline_description="foo")
    session.start_pipeline_execution(PipelineName=name)

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots or logs
Remote:

Image

local:

pzu6ht9kua-algo-1-frkcn  | /app/.venv/lib/python3.11/site-packages/sagemaker/train/remote_function/invoke_function.py:104: DeprecationWarning: sagemaker.train.remote_function.core.stored_function has been moved to sagemaker.core.remote_function.core.stored_function. Please update your imports. This shim will be removed in a future version.
pzu6ht9kua-algo-1-frkcn  |   from sagemaker.train.remote_function.core.stored_function import StoredFunction
pzu6ht9kua-algo-1-frkcn  | 2026-01-19 13:55:14,079 sagemaker.remote_function ERROR    Error encountered while invoking the remote function.
pzu6ht9kua-algo-1-frkcn  | Traceback (most recent call last):
pzu6ht9kua-algo-1-frkcn  |   File "/app/.venv/lib/python3.11/site-packages/sagemaker/train/remote_function/invoke_function.py", line 144, in main
pzu6ht9kua-algo-1-frkcn  |     _execute_remote_function(
pzu6ht9kua-algo-1-frkcn  |   File "/app/.venv/lib/python3.11/site-packages/sagemaker/train/remote_function/invoke_function.py", line 106, in _execute_remote_function
pzu6ht9kua-algo-1-frkcn  |     stored_function = StoredFunction(
pzu6ht9kua-algo-1-frkcn  |                       ^^^^^^^^^^^^^^^
pzu6ht9kua-algo-1-frkcn  | TypeError: StoredFunction.__init__() got an unexpected keyword argument 'hmac_key'
pzu6ht9kua-algo-1-frkcn exited with code 0
Aborting on container exit...
 Container pzu6ht9kua-algo-1-frkcn  Stopping
 Container pzu6ht9kua-algo-1-frkcn  Stopped
[01/19/26 14:55:15] INFO     ===== Job Complete =====                                                                               image.py:323
[01/19/26 14:55:16] INFO     Pipeline step 'preprocess-1e842e1e-0a59-4828-8c6c-7bb549f0600d' SUCCEEDED.                 pipeline_entities.py:180
                    INFO     Pipeline execution eb1dabc4-48b3-4e79-b6e5-229d92df098e SUCCEEDED  

System information
A description of your system. Please provide:

  • SageMaker Python SDK version: 3.3.1
  • Framework name (eg. PyTorch) or algorithm (eg. KMeans): n/a
  • Framework version: n/a
  • Python version: 3.11
  • CPU or GPU: cpu
  • Custom Docker image (Y/N): N

Additional context
It appears l.110 in invoke_function.py is the source of the bug: https://github.com/aws/sagemaker-python-sdk/blob/master/sagemaker-train/src/sagemaker/train/remote_function/invoke_function.py#L110

Activity

  1. nkmglobalp commented on Jan 20, 2026

    @nkmglobalp

    +1 I also faced same issue

  2. AkshayShah03 commented on Oct 10, 2026

    @AkshayShah03

    This looks fixed on master. The traceback comes from sagemaker/train/remote_function/invoke_function.py, which passed hmac_key= to StoredFunction, while the core StoredFunction takes signing_key. #6294 renamed that argument to signing_key in the train copy of invoke_function (the core copy already used it), and the change first shipped in v3.23.0.

    Upgrading to sagemaker 3.23.0 or later (pip install --upgrade sagemaker) should resolve it, and the issue can probably be closed. If the error still shows up on 3.23+, a traceback from that version would help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions