New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config dict modified by Parsl #98

Closed
yadudoc opened this Issue Feb 13, 2018 · 1 comment

Comments

Projects
None yet
1 participant
@yadudoc
Contributor

yadudoc commented Feb 13, 2018

The config dict provided by the user at the DataFlowKernel initialization is modified. This config structure should be immutable, and the DFK should work internally on a deepcopy of the config dict.

This is easily reproducible by :

localThreads = {
        "sites": [
            {"site": "Local_Threads",
             "auth": {"channel": None},
             "execution": {
                 "executor": "threads",
                 "provider": None,
                 "maxThreads": 4
             }
            }],
        "globals": {"lazyErrors": True}
    }

original = json.dumps(localThreads, sort_keys=True)
dfk = DataFlowKernel(config=localThreads)
after = json.dumps(localThreads, sort_keys=True)
assert original == after, "Config modified"

The assert fails here

@yadudoc yadudoc added the bug label Feb 13, 2018

@yadudoc yadudoc self-assigned this Feb 13, 2018

yadudoc added a commit that referenced this issue Feb 13, 2018

Potential fix for DFK updating config dicts issue #98
This commit adds explicit deepcopies of the config object
right before the config defaults are applied.

yadudoc added a commit that referenced this issue Feb 13, 2018

@yadudoc

This comment has been minimized.

Contributor

yadudoc commented Feb 13, 2018

Fixed.

@yadudoc yadudoc closed this Feb 13, 2018

yadudoc added a commit that referenced this issue Feb 23, 2018

Bumping version from 0.4.0 to 0.4.1
Several fixes included as part of this point release:
* Cobalt provider issues with job state #101
* Parsl updates config inadvertently #98
* No blocks provisioned if parallelism/blocks = 0 #97
* Checkpoint restart assumes rundir bug #95
* Logger continues after cleanup called enhancement #93
* Error checkpointing when no cache enabled  #92
* Several fixes to libsubmit.

New Providers:
* GoogleCloud
* GridEngine
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment