Skip to content

Dictionary shared arguments break DCP Javascript workload #97

@ccmcintyre-kingsds

Description

@ccmcintyre-kingsds

Issue Type

Bug

Source

source

Bifrost Version

0.6.1

Custom Code

No

OS Platform and Distribution

Linux Ubuntu 20.04

Mobile device

No response

Python version

3.8

Current Behaviour?

Keyword arguments, which are an acceptable input format coming from a Pythonic context, are immediately breaking when the work function has been specified as being in javascript. We should be able to handle and proceed with this case; the intended behaviour is to treat them as essentially being positional arguments, for javascript's purposes. Clearly this behaviour as implemented, though, needs at least cursory bugfixing, given the error that even the simple case of it invokes before even reaching job deployment.

Standalone code to reproduce the issue

from bifrost import dcp

work_function = """function workFunction( n, x ){ return n * x }"""

input_set = range(5)
shared_arguments = { "x": 3 }

job = dcp.compute_for(input_set, work_function, shared_arguments)
job.node_js = True

output_set = job.exec()
print(output_set)

Relevant log output

installing dcp-client
Traceback (most recent call last):
  File "issue_js.py", line 11, in <module>
    output_set = job.exec()
  File "/home/chris/anaconda3/lib/python3.8/site-packages/bifrost/dcp/Job.py", line 461, in exec
    results = self.__dcp_run()
  File "/home/chris/anaconda3/lib/python3.8/site-packages/bifrost/dcp/Job.py", line 251, in __dcp_run
    self.work_arguments.append(self.work_key_arguments)
AttributeError: 'Job' object has no attribute 'work_key_arguments'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdcpRelates to DCP or the Compute APIjavascriptRelates to JavaScript or Node.js codepythonRelates to Python code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions