Branch: refs/heads/master Home: https://github.com/jenkinsci/build-failure-analyzer-plugin Commit: 6207c9e95b74035cd31c8ed6f145c0ba9f4a7526 https://github.com/jenkinsci/build-failure-analyzer-plugin/commit/6207c9e95b74035cd31c8ed6f145c0ba9f4a7526 Author: Gustaf Lundh <gusta...@axis.com> Date: 2016-10-12 (Wed, 12 Oct 2016)
Changed paths: M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/BuildLogIndication.java M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/Indication.java M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/MultilineBuildLogIndication.java Log Message: ----------- Fix: Broken JSON serialization Since inherited classes from Indication does not declare @JsonProperty("pattern") in their constructors, the JSON writer will use the default constructor and populate fields using a matching (by name) getter. This leads to one particular bad bug, where MultiLineBuildLogIndication returns a modified pattern using the @Overidden getPattern() during JSON serialization. Everytime a user modify a FailureCause containing a MultiLineBuildLogIndication it will be rewritten when stored in mongodb: 1. User enters a MultiLineBuildLogIndication: email.com 2. This is stored: (?m)(?s)^[\r\n]*?email.com[^\r\n]*?$ 3. This is searched for in Logs: (?m)(?s)^[\r\n]*?(?m)(?s)^[\r\n]*?email.com[^\r\n]*?$[^\r\n]*?$ 4. Next time the Cause is saved: (?m)(?s)^[\r\n]*?(?m)(?s)^[\r\n]*?(?m)(?s)^[\r\n]*?email.com [^\r\n]*?$[^\r\n]*?$[^\r\n]*?$ Rinse and repeat. Change-Id: Id1233b66d29aa948813a29bcc01f353c4d245304 Commit: 963482c8b193043707c84b73cec8a965007da48c https://github.com/jenkinsci/build-failure-analyzer-plugin/commit/963482c8b193043707c84b73cec8a965007da48c Author: Gustaf Lundh <gusta...@axis.com> Date: 2016-10-13 (Thu, 13 Oct 2016) Changed paths: M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/FailureReader.java M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/MultilineBuildLogIndication.java Log Message: ----------- Performance fixes for MultilineBuildLogIndication Test data --------- Log: 49MB log @ 280.000 lines Multiline pattern: Simple pattern, matching +20 lines at end of log Pre-fix: 32 seconds (Note that the hardcoded timeout is 10 seconds) Post-fix: 1.7 seconds The fix ------- Current implementation relies on Scanner.findWithinHorizon() with a horizon of 10k. Every time this large window does not turn up a match, the sliding window increases just one line (or several if consecutive empty lines are found). This essentially means that every line in a huge log is scanned 100s of times. To avoid grabbing extremely large captures, we now scan the log in 10kb chunks with 5kb overlaps (~50 lines for regular logs). This patch also fixes an issue where the multiline pattern always needed to match the beginning of a line. Change-Id: I5eeddb3555f965dde463015766f1800c5bcb772b Commit: 468e988cb9fbb177309027f3fc690c12eaf9ddea https://github.com/jenkinsci/build-failure-analyzer-plugin/commit/468e988cb9fbb177309027f3fc690c12eaf9ddea Author: Gustaf Lundh <gusta...@axis.com> Date: 2016-10-18 (Tue, 18 Oct 2016) Changed paths: M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/FailureReader.java M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/MultilineBuildLogIndication.java M src/test/java/com/sonyericsson/jenkins/plugins/bfa/model/FailureReaderTest.java M src/test/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/MultilineBuildLogIndicationTest.java Log Message: ----------- Fix failed tests One testcase was a bit broken (it only worked due to a somewhat faulty compiled pattern in previous versions of MultilineBuildLogIndication). This test case was replaced with a more stable one that utilizes the block timeout. QuadrupleDupleLineReader() is not used for Multiline scanning since it does not use Reader.readline(). Another testcase utilized a deprecated schedule method and did not receive Causes due to this. Change-Id: I6cf0dfc81869aad965c3d2731cfb8f9121da584f Commit: da7944fa6844c91961ba7e3d75f5a4e8d6cb87c7 https://github.com/jenkinsci/build-failure-analyzer-plugin/commit/da7944fa6844c91961ba7e3d75f5a4e8d6cb87c7 Author: Gustaf Lundh <gusta...@axis.com> Date: 2016-10-18 (Tue, 18 Oct 2016) Changed paths: M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/FailureReader.java Log Message: ----------- Fix checkstyle Change-Id: I8f633d61f0abc0b2ef98adb33c9799c87e9b3436 Commit: 97baff43f9006a7475d09eca151f23a3c5ac14ba https://github.com/jenkinsci/build-failure-analyzer-plugin/commit/97baff43f9006a7475d09eca151f23a3c5ac14ba Author: Robert Sandell <rsand...@cloudbees.com> Date: 2016-10-19 (Wed, 19 Oct 2016) Changed paths: M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/FailureReader.java M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/BuildLogIndication.java M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/Indication.java M src/main/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/MultilineBuildLogIndication.java M src/test/java/com/sonyericsson/jenkins/plugins/bfa/model/FailureReaderTest.java M src/test/java/com/sonyericsson/jenkins/plugins/bfa/model/indication/MultilineBuildLogIndicationTest.java Log Message: ----------- Merge pull request #59 from GLundh/json_fix MultiLineBuildLogIndication performance and bug fixes Compare: https://github.com/jenkinsci/build-failure-analyzer-plugin/compare/7b2f450141aa...97baff43f900 -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.