Comments (6)
From how I think about the syntax, I feel multiple identical operators should also fail. Only one primary operator per task (not including the case of _check: & _error: usage, or multiple tasks within a task)
from digdag.
Yeah, tricky thing is that the yaml parsing happens before validation, and at that point the parser has already discarded all preceding identical keys.
from digdag.
Turns out though that the yaml parser can, at gunpoint, be persuaded into disallowing duplicate keys by injecting some validation logic. Kind of icky but it gets the job done.
from digdag.
SnakeYAML should have an option that throws an exception. It's good for all users. SnakeYAML is not on github (BitBucket!) but the author is still active.
from digdag.
Yeah, let's submit a SnakeYAML PR.
from digdag.
I opened an issue in the SnakeYAML project to propose adding this validation to SnakeYAML itself: https://bitbucket.org/asomov/snakeyaml/issues/337/option-to-disallow-duplicate-keys
Meanwhile, it seems that the very same issue has been addressed in the past by implementing a custom constructor, similarly to what my current PR does: https://jira.spring.io/browse/SPR-12318
Should we go ahead with my PR until we have managed to get unique key validation into SnakeYAML proper?
from digdag.
Related Issues (20)
- Digdag CLI to schedule workflow session for a future date/time HOT 1
- node-sass is deprecated HOT 6
- InvalidParameterException occurred only when executing sh operator on ECSCommandExecutor. HOT 9
- ECS Command Executor fails if task continues for 10 minutes or more. HOT 1
- How do I point to the parent path? HOT 1
- [feature-request] Oracle operator HOT 1
- Unable to kill node.js task HOT 3
- How to create a global config for multiple projects in the workspace? HOT 2
- Unable to exit as success status when using sys.exit(0) from py:> operator HOT 2
- broken dependency in digdag-client
- Please add route /workflows/{workflow_id}/edit
- [Regression] Commit breaks --enable-swagger HOT 3
- Concurrent update in table "QUEUED_TASK_LOCKS": another transaction has updated or deleted the same row [90131-192] HOT 5
- Please release v0.10.5 HOT 2
- Swagger is broken in v0.10.5 and v0.10.5.1 HOT 2
- Docker build environment fails to build HOT 1
- How to exit or continue while using if or for_each or range or loop in digdag?
- How to add two conditions in the if statement in digdag? HOT 2
- Workflow task is showing running status
- Error with http call HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from digdag.