Comments (2)
definitely worth showing a warning in the UI when creating a flow with such invalid condition and disable those WARN logs.
I was able to reproduce that this log message appears every couple of milliseconds:
2024-01-07 20:07:46,922 WARN pool-7-thread-1 f.h.naive-schedule-condition [namespace: company.team] [flow: hello-world-var-condition] [condition: VariableCondition(super=io.kestra.core.models.conditions.types.VariableCondition@596bcd, expression={{ trigger.date | date() < now() }})] Evaluate Condition Failed with error 'io.pebbletemplates.pebble.error.PebbleException: Could not perform greater modulus ({{ trigger.date | date() < now() }}:1)'
io.kestra.core.exceptions.IllegalVariableEvaluationException: io.pebbletemplates.pebble.error.PebbleException: Could not perform greater modulus ({{ trigger.date | date() < now() }}:1)
at io.kestra.core.runners.VariableRenderer.properPebbleException(VariableRenderer.java:166)
at io.kestra.core.runners.VariableRenderer.recursiveRender(VariableRenderer.java:127)
at io.kestra.core.runners.VariableRenderer.render(VariableRenderer.java:170)
at io.kestra.core.runners.RunContext.render(RunContext.java:442)
at io.kestra.core.models.conditions.types.VariableCondition.test(VariableCondition.java:50)
at io.kestra.core.services.ConditionService.lambda$isValid$0(ConditionService.java:69)
at java.base/java.util.stream.MatchOps$1MatchSink.accept(Unknown Source)
at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.allMatch(Unknown Source)
at io.kestra.core.services.ConditionService.isValid(ConditionService.java:67)
at io.kestra.core.models.triggers.types.Schedule.validateScheduleCondition(Schedule.java:433)
at io.kestra.core.models.triggers.types.Schedule.truePreviousNextDateWithCondition(Schedule.java:393)
at io.kestra.core.models.triggers.types.Schedule.nextEvaluationDate(Schedule.java:186)
at io.kestra.core.schedulers.AbstractScheduler.lambda$handle$15(AbstractScheduler.java:259)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source)
at io.kestra.core.schedulers.AbstractScheduler.handle(AbstractScheduler.java:268)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: io.pebbletemplates.pebble.error.PebbleException: Could not perform greater modulus ({{ trigger.date | date() < now() }}:1)
at io.pebbletemplates.pebble.node.expression.LessThanExpression.evaluate(LessThanExpression.java:25)
at io.pebbletemplates.pebble.node.expression.LessThanExpression.evaluate(LessThanExpression.java:16)
at io.pebbletemplates.pebble.node.PrintNode.render(PrintNode.java:37)
at io.pebbletemplates.pebble.node.BodyNode.render(BodyNode.java:44)
at io.pebbletemplates.pebble.node.RootNode.render(RootNode.java:31)
at io.pebbletemplates.pebble.template.PebbleTemplateImpl.evaluate(PebbleTemplateImpl.java:157)
at io.pebbletemplates.pebble.template.PebbleTemplateImpl.evaluate(PebbleTemplateImpl.java:96)
at io.kestra.core.runners.VariableRenderer.recursiveRender(VariableRenderer.java:122)
... 40 common frames omitted
Caused by: java.lang.RuntimeException: invalid operands for mathematical comparison [LESS_THAN]
at io.pebbletemplates.pebble.utils.OperatorUtils.wideningConversionBinaryComparison(OperatorUtils.java:189)
at io.pebbletemplates.pebble.utils.OperatorUtils.lt(OperatorUtils.java:94)
at io.pebbletemplates.pebble.node.expression.LessThanExpression.evaluate(LessThanExpression.java:21)
... 47 common frames omitted
from kestra.
- change the WARN level to TRACE or DEBUG
- add a short and informative error message that Pebble in the condition is invalid
from kestra.
Related Issues (20)
- KubernetesScriptRunner issues spotted during QA HOT 7
- Webserver crashes after few API calls from external server after upgrade to 0.15.8 HOT 4
- Add support for Proxmox (either plugin or the ability to run kestra within proxmox) HOT 3
- Stats page is blank on Kestra Cloud HOT 1
- Service Accounts landing page shows no service account even when there exists service account HOT 3
- Grey out Namespace tabs other than "Create" for a namespace that hasn't been created yet HOT 4
- Not created namespaces lead to confusion — provide a better UX for creating new namespaces HOT 5
- Namespace Create button lands on Dependencies tab HOT 2
- Namespace dropdown is empty while adding roles to groups HOT 3
- Follow up on JDBC Scheduler scalability
- Improve handling of working directory and file inputs/outputs for remote Script Runners HOT 1
- Unable to trigger execution with large file in input parameters HOT 2
- Provide metrics providing better overview of cluster processing ability
- Namespace Overview page has Failed Executions and Error Logs of other namespaces
- [documentation error] ssh command page HOT 1
- Adjust plugin categories HOT 9
- Request to consider a setting for recursive flow variable rendering for enhanced productivity HOT 3
- [UI] Docs tab is not showing code in the Editor
- Execution time of ForEachItem sub-flows
- ForEachItem execution visualisation
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 kestra.