Jawa / Говнокод #13083 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
public CommandResult update() {
            CommandResult res = null;
            try {
                long start = System.nanoTime();
                res = _port.runCommand(_mongo.getDB("admin"), isMasterCmd);
                long end = System.nanoTime();
                float newPingMS = (end - start) / 1000000F;
                if (!successfullyContacted)
                    _pingTimeMS = newPingMS;
                else
                    _pingTimeMS = _pingTimeMS + ((newPingMS - _pingTimeMS) / latencySmoothFactor);

                getLogger().log(Level.FINE, "Latency to " + _addr + " actual=" + newPingMS + " smoothed=" + _pingTimeMS);

                successfullyContacted = true;

                if (res == null) {
                    throw new MongoInternalException("Invalid null value returned from isMaster");
                }

                if (!_ok) {
                    getLogger().log(Level.INFO, "Server seen up: " + _addr);
                }
                _ok = true;

                // max size was added in 1.8
                if (res.containsField("maxBsonObjectSize")) {
                    _maxBsonObjectSize = (Integer) res.get("maxBsonObjectSize");
                } else {
                    _maxBsonObjectSize = Bytes.MAX_OBJECT_SIZE;
                }
            } catch (Exception e) {
                if (!((_ok) ? true : (Math.random() > 0.1))) {
                    return res;
                }

                final StringBuilder logError = (new StringBuilder("Server seen down: ")).append(_addr);

                if (e instanceof IOException) {

                    logError.append(" - ").append(IOException.class.getName());

                    if (e.getMessage() != null) {
                        logError.append(" - message: ").append(e.getMessage());
                    }

                    getLogger().log(Level.WARNING, logError.toString());

                } else {
                    getLogger().log(Level.WARNING, logError.toString(), e);
                }
                _ok = false;
            }

            return res;
        }

https://github.com/mongodb/mongo-java-driver/blob/master/src/main/com/mongodb/ConnectionStatus.java

Незаметен.

Запостил: serpinski serpinski, (Updated )

Комментарии (7) RSS

    • Интересно только зачем serpinski выложил всю функцию, а не только эту строчку.
      Ответить
  • Не всегда рапортовать об ошибке - это сильно. Вот иногда вроде умно написано, и паттерны, и логи и документация. И остро хочется автора выпилить из мира, желательно ложкой.
    Ответить
  • final не интересно, не интересно "Server seen down: "

    Фейсбук упал и лежит - совпадение?
    Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8