← Timeline
Avatar placeholder
Anton Kovalenko
05-10-2021 17:06 (updated 05-10-2021 22:38)
Сломал ноду

Похоже, Chelovekopodobny Robot не может публиковаться в остальную сеть, ну и обратно тоже ничего не видно, Carte is invalid. Не знаю, можно ли как-то всё это исправить, если я обновлялся без привязки к релизам, просто "в очередной раз на git/master". Shmuel Leib Melamud есть идеи?

ещё пришлось в процессе выкинуть лишнюю миграцию, ALTER TABLE entry_attachments ADD CONSTRAINT entry_attachments_entry_id_fkey..., но если я там и наломал дров, вряд ли это связано с текущей проблемой 🙁

UPDATE: починил — просто-напросто случайно поворотил OpenWrt маскарадингом внутрь.

To react or comment  View in Web Client
Comments (22)
Avatar placeholder

Починим. Проверь, для начала, что дата/время на сервере выставлены правильно.

Avatar placeholder

Ты обновился на последний релиз?

👍1
Avatar placeholder

я обновился на a579ac5a9ddad49350e519b1726c7628e589892d (Tue Oct 5 02:37:07 2021 +0300).
дата/время правильные, там ntpd.

Avatar placeholder

из особенностей конфигурации -- выставлен node.address на внешний IP

Avatar placeholder

О, кстати, файл конфигурации немного поменялся. Можешь показать, что там у тебя сейчас?

Avatar placeholder
server:
  port: 8081  # Server port

spring:
  # DataSource settings
  datasource:
    url: jdbc:postgresql://localhost:5433/moera_node?characterEncoding=UTF-8
    username: moera
    password: <redacted>

  flyway:
    user: moera
    password: <redacted>
    table: schema_history
    baseline-on-migrate: true
    validate-on-migrate: false # To be able to adjust DB schema without validation errors

  jpa:
    open-in-view: true
    show-sql: false  # Show or not log for each sql query
    hibernate:
      ddl-auto: none  # Hibernate DDL auto (create, create-drop, update)
      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy  # Naming strategy

    # Hibernate native properties (the prefix is
    # stripped before adding them to the entity manager)
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQL82Dialect  # The SQL dialect makes Hibernate generate better SQL for the chosen database

  mail:
    host: localhost
#    host: smtp.gmail.com
#    port: 587
#    properties:
#      mail:
#        smtp:
#          auth: true
#          starttls:
#            enable: true

  servlet:
    multipart:
      max-file-size: 5MB
      max-request-size: 5MB

node:
  root-secret: <redacted>
  mock-network-latency: false
  multi: none
  address: 88.84.222.252 
  media:
          path: /home/moera/media/

Avatar placeholder
Avatar placeholder

Скажи, а IP клиента нормально в ноду передаётся? Она же у тебя за прокси?

💯1
Avatar placeholder

Всё, починил, извини за беспокойство. С прокси всё нормально, а роутер (на котором я недавно обновлял OpenWrt и заодно донастраивал всякое) я испортил: заставил маскарадить не только локалку наружу, но и глобальных клиентов внутрь, так что moera видела исключительно адрес роутера.

Во имя документирования граблей: в openwrt/luci на "дружественной" страничке файрволла галка Masquerading относится к POSTROUTING выхода через данную зону, а не к "связке" Zone->Forwardings.

👍2
Avatar placeholder

Спасибо, кстати, что сказал насчёт CONSTRAINT, я там действительно налажал. Сделай у себя в базе, на всякий случай:

ALTER TABLE entry_attachments ADD FOREIGN KEY (media_file_owner_id)
    REFERENCES media_file_owners(id) ON UPDATE CASCADE ON DELETE CASCADE;
👍2
Avatar placeholder

Проверочный человекоподобный коммент!

😍👍2
Avatar placeholder

Похоже, не всё гладко. Реакции и комменты со стороны moera.blog на посты на моей ноде вызывают сообщения "failed to sign a reaction...", "failed to add a comment...", "failed to subscribe to comments to post """. При этом в обратную сторону вроде теперь всё хорошо (после перелогина на обеих нодах).

Avatar placeholder

То есть, на мой взгляд,что-то интересное должно быть в логах *.moera.blog (в моих на первый взгляд всё спокойно). При этом сами комменты и лайки всё-таки как-то приходят.

Avatar placeholder

Нет, как раз в логах твоей ноды должно быть интересное. Это твоя нода так реагирует на подписанные реакции и комменты от других.

👍1
Avatar placeholder

Хм, вроде всё совершенно невинно и ожидаемо, а конечный результат тот же 🙁 (moera.blog отправила мне коммент и тут же подключается его прочитать):

2021-10-06 03:09:23.490  INFO 2366207 --- [nio-8081-exec-2][$] _default_ - o.m.node.auth.AuthenticationInterceptor  : Authorized with node name akovalenko_0
2021-10-06 03:09:23.490  INFO 2366207 --- [nio-8081-exec-2][$] _default_ - org.moera.node.rest.CommentController    : POST /postings/{postingId}/comments (postingId = '49230746-8bd4-4d66-aa89-799e29033344', bodySrc = '{"text":"а потом добавим ножек, получился ос
ьминожек! (смотрим в...', bodySrcFormat = 'markdown')
2021-10-06 03:09:23.509  INFO 2366207 --- [nio-8081-exec-2][$] _default_ - org.moera.node.event.EventManager        : Event arrived: COMMENT_ADDED (id = '94f1c310-f2cb-42e5-9a74-808f73d664c5', postingId = '49230746-8bd4-4d66-aa89-799e29033344', moment = 1633478963003)
2021-10-06 03:09:23.509  INFO 2366207 --- [nio-8081-exec-2][$] _default_ - org.moera.node.event.EventManager        : Event arrived: POSTING_COMMENTS_CHANGED (id = '49230746-8bd4-4d66-aa89-799e29033344', total = 1)
2021-10-06 03:09:23.509  INFO 2366207 --- [nio-8081-exec-2][$] _default_ - o.m.n.n.send.NotificationSenderPool      : Sending notification POSTING_COMMENTS_UPDATED (subscriberId = null, postingId = '49230746-8bd4-4d66-aa89-799e29033344', total = 1)
2021-10-06 03:09:23.509  INFO 2366207 --- [nio-8081-exec-2][$] _default_ - o.m.n.n.send.NotificationSenderPool      : Sending to 'posting' subscribers (feedName = null, postingId = '49230746-8bd4-4d66-aa89-799e29033344')
2021-10-06 03:09:45.876  INFO 2366207 --- [io-8081-exec-10][$] _default_ - o.m.node.auth.AuthenticationInterceptor  : Authorized with node name akovalenko_0
2021-10-06 03:09:45.876  INFO 2366207 --- [io-8081-exec-10][$] _default_ - org.moera.node.rest.CommentController    : GET /postings/{postingId}/comments/{commentId}, (postingId = '49230746-8bd4-4d66-aa89-799e29033344', commentId = '94f1c310-f2cb-42e5-9a74-808f73d664c5', include = 'source')
Avatar placeholder

POST - это отправка неподписанного коммента с клиента. Ищи PUT - это отправка подписанного коммента с ноды.

Avatar placeholder

Как ни странно, для событий "коммент/лайк из моера.блог ко мне на ноду" я сейчас не вижу ни одного PUT'а, ни в nginx, ни в серверном логе. А зато несколько раньше было такое (в логе моего nginx'а):

91.77.165.170 - - [06/Oct/2021:01:41:51 +0300] "PUT /moera/api/feeds/instant/sta
tus?cid=oK65qufa5iwo4WogYPmPsQ%3D%3D HTTP/1.1" 200 64 "https://akovalenko.moera.
blog/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) C
hrome/96.0.4655.0 Safari/537.36"
91.77.165.170 - - [06/Oct/2021:01:41:55 +0300] "OPTIONS /moera/api/stories/3773b
ee7-1d75-4568-a60d-1a810a1a5cc7?cid=oK65qufa5iwo4WogYPmPsQ%3D%3D HTTP/1.1" 200 0
 "https://akovalenko.moera.blog/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/5
37.36 (KHTML, like Gecko) Chrome/96.0.4655.0 Safari/537.36"
91.77.165.170 - - [06/Oct/2021:01:41:55 +0300] "PUT /moera/api/stories/3773bee7-
1d75-4568-a60d-1a810a1a5cc7?cid=oK65qufa5iwo4WogYPmPsQ%3D%3D HTTP/1.1" 200 485 "
https://akovalenko.moera.blog/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537
.36 (KHTML, like Gecko) Chrome/96.0.4655.0 Safari/537.36"

Что я тогда делал, не помню, сейчас проверю обратное направление...

Avatar placeholder
Avatar placeholder

В общем, когда Chelovekopodobny Robot комментирует Anton Kovalenko, я вижу OPTIONS + PUT на моём сервере, примерно так:

91.77.165.170 - - [06/Oct/2021:03:24:29 +0300] "OPTIONS /moera/api/nodes/akovalenko_0/postings/c09c6c59-3d76-4c58-91be-0e2ac14aee48/comments/9b56dcb2-ec72-475f-a8d4-efa113a07345?cid=ZVA4K%2BKTMc2t90YswGsvTA%3D%3D HTTP/1.1" 200 0 "https://akovalenko.moera.blog/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4655.0 Safari/537.36"
91.77.165.170 - - [06/Oct/2021:03:24:29 +0300] "PUT /moera/api/nodes/akovalenko_0/postings/c09c6c59-3d76-4c58-91be-0e2ac14aee48/comments/9b56dcb2-ec72-475f-a8d4-efa113a07345?cid=ZVA4K%2BKTMc2t90YswGsvTA%3D%3D HTTP/1.1" 200 44 "https://akovalenko.moera.blog/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4655.0 Safari/537.36"

А в обратную сторону, когда Anton Kovalenko комментирует Chelovekopodobny Robot, я ничего такого не вижу. Shmuel Leib Melamud, вроде это стыкуется с тем, как я представляю себе работу moera,но это означает, что по направлению moera.blog->my.node проблемы PUT надо выискивать в твоём логе, а не в моём. Или глючу?

Avatar placeholder

Shmuel Leib Melamud Ещё если в мобильном клиенте кликнуть на "failed to.." событие с комментом, вижу на клиенте Node access error: Server returned error status: Value for argument 'id' is invalid

💡1
Avatar placeholder

Нашел:

2021-10-06 00:09:44.582 ERROR 11228 --- [remoteTaskExecutor-10][-] akovalenko.moera.blog - o.m.n.rest.task.RemoteCommentPostTask    : Error adding comment to posting 49230746-8bd4-4d66-aa89-799e29033344 at node illegal_0: Node API call exception: HTTP connect timed out
2021-10-06 00:09:44.585 ERROR 11228 --- [remoteTaskExecutor-6][-] akovalenko.moera.blog - n.r.t.RemotePostingCommentsSubscribeTask : Error subscribing to comments to posting 49230746-8bd4-4d66-aa89-799e29033344 at node illegal_0: Node API call exception: HTTP connect timed out
👍1
Avatar placeholder

тоже нашёл: присутствие 173.230.140.0/23 в списках суммаризации блокировок роскомнадзора (antifilter.download).
пока завайтлистил, а по-хорошему придётся connmark прикручивать для всех таких случаев 🙁

👍2
To react or comment  View in Web Client