我有一个工作,同时执行将获得液基数据库锁。如果出现错误,作业将退出而不释放锁。因此,我需要在失败时触发下一个作业,以便它解锁数据库,并且使用数据库的其他作业不会因为这个锁而抛出错误。
......
[ERROR]: Unexpected error running Liquibase: Could not acquire change log lock. Currently locked by srvcldpcld262 since 4/28/17 8:40 AM
[ERROR]: SEVERE 4/28/17 10:48 AM: liquibase: Could not acquire change log lock. Currently locked by srvcldpcld262 since 4/28/17 8:40 AM
[ERROR]: liquibase.exception.LockException: Could not acquire change log lock. Currently locked by srvcldpcld262 since 4/28/17 8:40 AM
[ERROR]: at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:173)
[ERROR]: at liquibase.Liquibase.update(Liquibase.java:182)
[ERROR]: at liquibase.Liquibase.update(Liquibase.java:174)
[ERROR]: at liquibase.integration.commandline.Main.doMigration(Main.java:997)
...........错误将类似于上面的内容。现在,我已经配置了一个条件步骤,它将运行正则表达式匹配,如下所示:
Expression: ^.*\s.*Could not acquire change log lock.*\s\[.*\s*
Label: ${BUILD_LOG_REGEX,regex="Could\snot\sacquire\schange\slog\slock"}在执行时,日志如下:
Regular expression run condition: Expression=[Could\snot\sacquire\schange\slog\slock], Label=[[...truncated 1841 lines...]
[ERROR]: Unexpected error running Liquibase: Could not acquire change log lock. Currently locked by srvcldpcld262 since 4/28/17 11:58 AM
[ERROR]: SEVERE 4/28/17 12:13 PM: liquibase: Could not acquire change log lock. Currently locked by srvcldpcld262 since 4/28/17 11:58 AM
[ERROR]: liquibase.exception.LockException: Could not acquire change log lock. Currently locked by srvcldpcld262 since 4/28/17 11:58 AM
[...truncated 212 lines...]
]
Run condition [Regular expression match] preventing perform for step [Trigger/call builds on other projects]您可以帮助标签和表达式部分如何配置它吗?提前谢谢。
发布于 2017-05-04 14:08:32
问题是表达式和标签不匹配。Exp:.MATCH。标签:${BUILD_LOG_REGEX,regex=“无法获取更改日志锁”,linesBefore=0,linesAfter=0,maxMatches=1,showTruncatedLines=false,escapeHtml=true,substText="MATCH",addNewline=false}我们必须在构建日志中查找“无法获取更改日志锁”,然后执行操作。请注意,label中的表达式是使用java表达式lang推导出来的。subsText和Exp应该匹配,这意味着包含文本“and‘t of change log lock”的整行将由" match“关键字填充。添加addNewline是因为在日志中添加了新行。
https://stackoverflow.com/questions/43679355
复制相似问题