• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

aiidateam / aiida-core / 6694
70%

Build:
DEFAULT BRANCH: develop
Ran 09 Jul 2019 01:39PM UTC
Jobs 4
Files 403
Run time 11min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
6694

push

travis-ci

web-flow
Make the `execmanager.retrieve_calculation` idempotent'ish (#3142)

The `retrieve_calculation` would cause an exception if called multiple
times for the same calculations, which can happen if the first time that
the runner was working on it got interrupted, for example due to a
daemon shutdown. The reason is that the second time around the adding of
the `retrieved` folder data node will raise a uniqueness exception,
because there can only be one output with the same label.

Note that full idempotency is impossible, but this change should make
the problem a lot less likely to occur. The idea is to delay the actual
attaching of the retrieved folder data node to the last moment possible.
This way, if the method is called again and the folder is already there,
we can be reasonably sure that the files were already retrieved
successfully and we simply return, leaving the call a no-op. This is done
in the beginning of the function to check if the output node already
exists using the `LinkManager.first()` call. If the node exists, the
retrieve function has apparently already been called before and reached
the end of the function where it adds the retrieved folder. This means
all the files were already successfully retrieved so we can safely skip.

The `LinkManager.first()` method is adapted to, instead of raising a
`ValueError` when no entry is found at all, simply return `None`. This
is more consistent with the behavior of `QueryBuilder.first()`.

24176 of 32460 relevant lines covered (74.48%)

2.76 hits per line

Jobs
ID Job ID Ran Files Coverage
5 6694.5 (TEST_AIIDA_BACKEND=django TEST_TYPE="tests") 09 Jul 2019 01:39PM UTC 0
68.16
Travis Job 6694.5
6 6694.6 (TEST_AIIDA_BACKEND=django TEST_TYPE="tests") 09 Jul 2019 01:45PM UTC 0
68.11
Travis Job 6694.6
7 6694.7 (TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests") 09 Jul 2019 01:47PM UTC 0
69.72
Travis Job 6694.7
8 6694.8 (TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests") 09 Jul 2019 01:50PM UTC 0
69.65
Travis Job 6694.8
Source Files on build 6694
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #6694
  • 8447c6bf on github
  • Prev Build on develop (#6691)
  • Next Build on develop (#6697)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc