1. 01 Nov, 2019 1 commit
  2. 31 Oct, 2019 1 commit
    • Karsten Loesing's avatar
      Make NetworkStatusEntryImpl#parseSLine thread-safe. · bde697f4
      Karsten Loesing authored
      The bug was that we accessed static class members, namely the two maps
      NetworkStatusEntryImpl#flagIndexes and #flagStrings, during instance
      creation without synchronization. This worked just fine with a single
      thread creating instances, but it breaks with multiple threads doing
      that at the same time.
      
      The fix is to keep a separate map per NetworkStatusImpl instance and
      share that between all its NetworkStatusEntryImpl instances. This
      doesn't save as much memory as sharing maps between all
      NetworksStatusEntryImpl instances ever created, but it's a reasonable
      compromise between memory and runtime efficiency. In contrast to that,
      synchronizing map access would have put a major runtime performance
      penalty on parsing.
      
      Fixes #32194.
      bde697f4
  3. 18 Oct, 2019 3 commits
  4. 02 Oct, 2019 1 commit
  5. 27 Sep, 2019 1 commit
  6. 17 Sep, 2019 1 commit
  7. 11 Sep, 2019 1 commit
  8. 06 Sep, 2019 1 commit
  9. 05 Sep, 2019 2 commits
  10. 29 Aug, 2019 1 commit
  11. 22 Aug, 2019 3 commits
  12. 12 Aug, 2019 1 commit
  13. 06 Aug, 2019 1 commit
  14. 28 Jul, 2019 1 commit
    • Karsten Loesing's avatar
      Revert all Debian buster library upgrades. · 7032e73a
      Karsten Loesing authored
      Turns out that updating all dependencies, including those in
      metrics-web and exonerator using servlets and JSPs, is much harder
      than expected. We decided to revert all these changes for now, so that
      we can merge patches again. We're going to investigate alternatives
      like Ant + Ivy, Maven, or Gradle in the near future.
      7032e73a
  15. 24 Jul, 2019 2 commits
  16. 18 Jul, 2019 1 commit
    • Karsten Loesing's avatar
      Update to Debian buster libraries. · 453a6f5a
      Karsten Loesing authored
      Also upgrade to latest metrics-base.
      
      Note that Checkstyle is excluded from this update, because there's a
      yet unresolved issue with the new version: ("Unable to create Root
      Module") that we'll have to address in a separate patch. But given
      that Checkstyle is not required for the build it's okay to keep the
      old version for now. It'll be in the release tarball.
      453a6f5a
  17. 30 May, 2019 1 commit
  18. 29 May, 2019 1 commit
  19. 16 May, 2019 1 commit
  20. 13 May, 2019 1 commit
  21. 03 May, 2019 1 commit
  22. 02 May, 2019 1 commit
    • Karsten Loesing's avatar
      Fix a bug in recognizing bandwidth files. · 016d49f5
      Karsten Loesing authored
      We're using a regular expression on the first 100 characters of a
      descriptor to recognize bandwidth files. More specifically, if a
      descriptor starts with ten digits followed by a newline, we parse it
      as a bandwidth file. (This is ugly, but the legacy bandwidth file
      format doesn't give us much of a choice.)
      
      This regular expression is broken. The regular expression we want is
      one that matches the first 100 characters of a descriptor, which ours
      didn't do.
      
      More detailed explanation of the code change:
      
       - We don't need to start the pattern with `^`, because the regular
         expression needs to match the whole string anyway.
       - The `(?s)` part enables the dotall mode: "In dotall mode, the
         expression . matches any character, including a line terminator. By
         default this expression does not match line terminators. Dotall
         mode can also be enabled via the embedded flag expression (?s).
         (The s is a mnemonic for "single-line" mode, which is what this is
         called in Perl.)"
       - We need to end the pattern with `.*` to match any characters
         following the first newline, which also includes newlines due to
         the previously enabled dotall mode.
      
      Fixes #30369.
      016d49f5
  23. 29 Apr, 2019 3 commits
  24. 28 Nov, 2018 1 commit
  25. 26 Sep, 2018 1 commit
  26. 25 Sep, 2018 1 commit
  27. 21 Aug, 2018 6 commits