XSF logo XSF Discussion - 2019-06-19


  1. pdurbin has left
  2. Wojtek has joined
  3. andy has left
  4. Wojtek has left
  5. lumi has left
  6. lumi has joined
  7. dragonspirit810 has joined
  8. UsL has joined
  9. marc_ has left
  10. karoshi has left
  11. dragonspirit810 has left
  12. dragonspirit810 has joined
  13. dragonspirit810 has left
  14. dragonspirit810 has joined
  15. dragonspirit810 has left
  16. dragonspirit810 has joined
  17. dragonspirit810 has left
  18. dragonspirit810 has joined
  19. dragonspirit810 has left
  20. dragonspirit810 has joined
  21. lskdjf has left
  22. dragonspirit810 has left
  23. dragonspirit810 has joined
  24. lumi has left
  25. dragonspirit810 has left
  26. dragonspirit810 has joined
  27. dragonspirit810 has left
  28. dragonspirit810 has joined
  29. dragonspirit810 has left
  30. dragonspirit810 has joined
  31. dragonspirit810 has left
  32. dragonspirit810 has joined
  33. dragonspirit810 has left
  34. XSF has left
  35. pdurbin has joined
  36. pdurbin has left
  37. UsL has left
  38. Douglas Terabyte has joined
  39. neshtaxmpp has left
  40. neshtaxmpp has joined
  41. neshtaxmpp has left
  42. neshtaxmpp has joined
  43. andy has joined
  44. remko has joined
  45. Zash has joined
  46. pdurbin has joined
  47. sezuan has joined
  48. david has left
  49. sezuan has left
  50. sezuan has joined
  51. Nekit has joined
  52. Yagiza has joined
  53. pdurbin has left
  54. david has joined
  55. pdurbin has joined
  56. Andrew Nenakhov has left
  57. Andrew Nenakhov has joined
  58. pdurbin has left
  59. pdurbin has joined
  60. Douglas Terabyte has left
  61. Douglas Terabyte has joined
  62. Douglas Terabyte has left
  63. Douglas Terabyte has joined
  64. COM8 has joined
  65. COM8 has left
  66. remko has left
  67. Zash has left
  68. Douglas Terabyte has left
  69. Douglas Terabyte has joined
  70. Zash has joined
  71. remko has joined
  72. andy has left
  73. Daniel has left
  74. andy has joined
  75. andy has left
  76. andy has joined
  77. Daniel has joined
  78. COM8 has joined
  79. COM8 has left
  80. APach has left
  81. APach has joined
  82. winfried has left
  83. winfried has joined
  84. sezuan has left
  85. lskdjf has joined
  86. goffi has joined
  87. Hi has joined
  88. lumi has joined
  89. karoshi has joined
  90. COM8 has joined
  91. Hi has left
  92. COM8 has left
  93. goffi has left
  94. goffi has joined
  95. rtq3 has joined
  96. rtq3 has left
  97. rtq3 has joined
  98. Douglas Terabyte has left
  99. Douglas Terabyte has joined
  100. Nekit has left
  101. Nekit has joined
  102. COM8 has joined
  103. COM8 has left
  104. marc_ has joined
  105. Kacper has joined
  106. sezuan has joined
  107. lumi has left
  108. Steve Kille has left
  109. Steve Kille has joined
  110. remko has left
  111. Daniel Zash, so wait. if i reboot prosody everyone stays in the room? as long as they don’t send errors which i guess under normal circumstances they shouldn't
  112. Kev That's what's happening in M-Link too in MUC rework we've got underway.
  113. COM8 has joined
  114. Daniel right. so i guess this would cover a lot of the cases except for when during downtime I try to (re)connect to a muc, get 'server not found' and then don’t know when it is fine to try again
  115. COM8 has left
  116. Daniel but it it would at least solve the ghost room problem
  117. jonas’ I’m not sure how well it works in practice
  118. jonas’ but I guess that’s the point of it (that you don’t notice a graceful restart) anymore
  119. jonas’ but I guess that’s the point of it (that you don’t notice a graceful restart anymore)
  120. Daniel i think it might even break in the case where i have a reconnect (with the same resource) during down time. i will get a server not found back from my own server. thus my client thinks i'm not in the room. but after restart the room thinks i'm in it
  121. Daniel and then messages sent to me won’t get bounced (by my server) because my resource is the same
  122. rtq3 has left
  123. jonas’ but then you’re still confused on the client side (which you can fix up)
  124. Douglas Terabyte has left
  125. Douglas Terabyte has joined
  126. rtq3 has joined
  127. jonas’ with a rejoin probably, because you threw state away
  128. neshtaxmpp has left
  129. Daniel yes. so clients need extra logic that a message (or presence) received to a room that seems to be offline should trigger a ping/join
  130. Daniel or something
  131. Daniel which is ok i guess
  132. Daniel but needs to be handled (and probably documented)
  133. Kacper has left
  134. neshtaxmpp has joined
  135. Kacper has joined
  136. Kev Restarts are usually so quick that you don't notice them.
  137. Kev (Unless you're silently dropped from the room)
  138. kokonoe has left
  139. Kacper has left
  140. Kacper has joined
  141. remko has joined
  142. jonas’ Kev, depends on what is restarted ;)
  143. jonas’ if it’s your own server, you’ll definitely notice. if the server is being fully rebooted, it can take minutes
  144. rtq3 has left
  145. Holger Don't we already have enough "works most of the time" cases?
  146. remko has left
  147. rtq3 has joined
  148. Daniel in what cases would this break?
  149. goffi has left
  150. Zash has left
  151. neshtaxmpp has left
  152. neshtaxmpp has joined
  153. Zash has joined
  154. Link Mauve Daniel, I’m not sure I understand your last example, in most cases if your client reuses a previous resource, it’ll have the MUC in bookmarks and join it again afterwards, right?
  155. Link Mauve In doing so, it sends a MUC join and the service then knows it has to send the full room state again, and can consider the previous full JID as out of the room.
  156. Link Mauve And when your new client doesn’t know it should join the MUC, it can send back an error to any groupchat message it receives from that room.
  157. goffi has joined
  158. Link Mauve Or am I missing something?
  159. jonas’ Link Mauve, daniels scenario was that the muc is currently rebooting while the client reconnects
  160. jonas’ thus the rejoin gets bounced with remote-server-not-found
  161. jonas’ and never reaches the MUC service
  162. Link Mauve Ah right.
  163. Kacper has left
  164. Link Mauve Yeah, then you have to try again with exponential back off, like in any current case of remote-server-not-found.
  165. Kacper has joined
  166. jonas’ Link Mauve, but then the MUC service comes back and starts sending you type="groupchat" and presence
  167. Zash has left
  168. kokonoe has joined
  169. Zash has joined
  170. Nekit has left
  171. Nekit has joined
  172. debacle has joined
  173. pdurbin has left
  174. dele has joined
  175. dele has left
  176. neshtaxmpp has left
  177. dele has joined
  178. MattJ Probably the MUC service should ping persisted occupants after a restart
  179. dele has left
  180. dele has joined
  181. MattJ and by ping, probably I mean probe
  182. Zash In Prosody, that's already what sorta happens since rooms are usually restored from storage by some event that results in a broadcast.
  183. Zash Daniel Yes, everyone stays in the room. Rooms can be saved to disk and removed from memory and then brought back at any time for a few different reasons, of which graceful shutdown is only one.
  184. Zash When all goes well, nobody notices.
  185. Nekit has left
  186. Nekit has joined
  187. kokonoe has left
  188. dele has left
  189. Zash The situation where the room thinks you're stil there but the client doesn't think so only happens because the move to long-term stable resources. If you get a new resource every time you connect, this takes care of itself eventually via kick-causing error bounces.
  190. Daniel the move to long term stable resources only happened because otherwise we have no ability to kick the old one
  191. Zash I don't think that's true
  192. Daniel that this was the reason or that we have no way of kicking the old?
  193. Zash Removal of stale sessions can be done, dwd has written stuff about this before.
  194. Kacper has left
  195. Zash And they should get removed eventually anyways
  196. Zash Like, the server could ping existing sessions when a new session connects.
  197. Daniel fwiw if that's what it takes i'm fine with moving to random resources
  198. dele has joined
  199. Daniel users will hate it
  200. Zash As always, there are tradeoffs
  201. kokonoe has joined
  202. Holger Ping existing sessions sounds ugly to me.
  203. Kacper has joined
  204. Holger A problem in practice I see is the delay. Stanzas queued for the old session won't be resent before the ping times out.
  205. Daniel Zash, is this prosody 0.11 or current development?
  206. Zash Everyone being kicked from rooms all the time because "Disconnected: Replaced by new connection" is also ugly
  207. Zash Daniel Theoretical
  208. Daniel Zash, the storing muc state i mean
  209. Daniel not the pinging of resources
  210. Link Mauve Daniel, 0.11 this one.
  211. Zash Yes, 0.11
  212. Zash Rooms can be saved to disk on graceful shutdown, module unload (and reload) or when they are evicted from a LRU cache.
  213. Daniel can or will?
  214. Daniel does this need to be configured?
  215. valo has left
  216. Zash Will. Enabled by default. I'd have to check docs or code to remember details of what can be configured.
  217. valo has joined
  218. Holger You're not worried about the init system killing the graceful shutdown due to timeout on servers with large/many rooms?
  219. Daniel do you have any grasp on how well that works in practice? because i still have countless users telling me about ghost mucs. but of course it might be that they are all on ejabberd
  220. Daniel countless ~= 3
  221. Zash Holger: Dunno, should we be?
  222. Daniel but they are very annoying about it :-)
  223. Zash Loud minority?
  224. Holger Zash: That's the main reason that made me hesitate to implement thing.
  225. Holger *the same thing.
  226. Zash I suspect that ejabberds closing of idle s2s connections isn't helpful here.
  227. Daniel why? saving state doesn’t require sending something over s2s does it?
  228. dele has left
  229. Zash I mean about ghost rooms/users. s2s connection gets closed and then fails to be reestablished for something, and then ghosts.
  230. Link Mauve Yeah, I’ve often been kicked out from (old) Ejabberd rooms without being notified, this doesn’t happen much lately.
  231. Holger If reconnecting fails I'd assume the old connection would've been lost as well.
  232. dele has joined
  233. Zash There's more likely that an unavailable presence can be delivered over an established s2s connection than if it has to reestablish it again.
  234. Zash Prosody in some configurations doesn't even manage to send anything when shutting down, making this worse.
  235. Holger Either way, personally I'd still prefer MUC Push over all these solutions that try to work around all these problems with MUC relying on presence.
  236. Holger The only real corner case I see with this is the first participant who'd like to write a groupchat message after MUC service restart.
  237. Daniel Holger, the question is if muc push really becomes the go to thing and all clients enable 1-2 push targets on every join wouldn’t the load on the db be the same as persisting presence?
  238. Holger Fixing that might require some client-side hack, or waiting for MIX.
  239. Zash I did start on an experimental hack that would make MUC joining account based
  240. Holger Daniel: Yes it's just a more robust solution, in my book. As you can't do the presence thing for clients without persistent connection anyway.
  241. Holger (Except with the super-ugly hack of faking their presence state while they're disconnected.)
  242. lumi has joined
  243. dele has left
  244. Kacper has left
  245. Kacper has joined
  246. moparisthebest has left
  247. dele has joined
  248. Kacper has left
  249. dele has left
  250. neshtaxmpp has joined
  251. Kacper has joined
  252. UsL has joined
  253. pdurbin has joined
  254. Kacper has left
  255. Kacper has joined
  256. pdurbin has left
  257. dragonspirit810 has joined
  258. dragonspirit810 has left
  259. dragonspirit810 has joined
  260. marc_ has left
  261. UsL has left
  262. pdurbin has joined
  263. COM8 has joined
  264. dragonspirit810 has left
  265. Zash Daniel, ask MattJ about mod_devices 🙂
  266. COM8 has left
  267. marc_ has joined
  268. neshtaxmpp has left
  269. wurstsalat has left
  270. pdurbin has left
  271. pdurbin has joined
  272. wurstsalat has joined
  273. neshtaxmpp has joined
  274. lumi has left
  275. lumi has joined
  276. pdurbin has left
  277. oli has left
  278. oli has joined
  279. rtq3 has left
  280. rtq3 has joined
  281. remko has joined
  282. dragonspirit810 has joined
  283. dragonspirit810 has left
  284. Damien has joined
  285. Damien has left
  286. rtq3 has left
  287. rtq3 has joined
  288. lumi has left
  289. UsL has joined
  290. kokonoe has left
  291. Wojtek has joined
  292. kokonoe has joined
  293. Wojtek has left
  294. moparisthebest has joined
  295. moparisthebest has left
  296. moparisthebest has joined
  297. Tobias has left
  298. Tobias has joined
  299. pdurbin has joined
  300. Wojtek has joined
  301. Wojtek has left
  302. pdurbin has left
  303. alacer has joined
  304. dele has joined
  305. dele has left
  306. alameyo has left
  307. alameyo has joined
  308. alacer has left
  309. alameyo has left
  310. alameyo has joined
  311. dele has joined
  312. dele has left
  313. igoose has left
  314. igoose has joined
  315. Andrew Nenakhov has left
  316. Andrew Nenakhov has joined
  317. eevvoor has joined
  318. UsL has left
  319. UsL has joined
  320. neshtaxmpp has left
  321. UsL has left
  322. UsL has joined
  323. Steve Kille has left
  324. UsL has left
  325. neshtaxmpp has joined
  326. Steve Kille has joined
  327. rtq3 has left
  328. pdurbin has joined
  329. pdurbin has left
  330. andy has left
  331. sezuan has left
  332. rtq3 has joined
  333. rtq3 has left
  334. rtq3 has joined
  335. Kacper has left
  336. Kacper has joined
  337. andy has joined
  338. lovetox has joined
  339. Lance has joined
  340. david has left
  341. valo has left
  342. valo has joined
  343. david has joined
  344. Nekit has left
  345. Nekit has joined
  346. APach has left
  347. Douglas Terabyte has left
  348. valo has left
  349. valo has joined
  350. dwd has left
  351. dwd has joined
  352. dwd has left
  353. dwd has joined
  354. pdurbin has joined
  355. Kacper has left
  356. Douglas Terabyte has joined
  357. andy has left
  358. Kacper has joined
  359. dwd has left
  360. dwd has joined
  361. krauq has left
  362. andy has joined
  363. Tobias has left
  364. pdurbin has left
  365. Tobias has joined
  366. dwd has left
  367. alacer has joined
  368. dele has joined
  369. alacer has left
  370. dele has left
  371. dele has joined
  372. dele has left
  373. APach has joined
  374. krauq has joined
  375. dele has joined
  376. dele has left
  377. dwd has joined
  378. marc_ has left
  379. Tobias has left
  380. Tobias has joined
  381. marc_ has joined
  382. dwd has left
  383. dwd has joined
  384. andy has left
  385. neshtaxmpp has left
  386. neshtaxmpp has joined
  387. sezuan has joined
  388. andy has joined
  389. sezuan has left
  390. sezuan has joined
  391. dwd has left
  392. Nekit has left
  393. Douglas Terabyte has left
  394. sezuan has left
  395. dwd has joined
  396. winfried has left
  397. winfried has joined
  398. pdurbin has joined
  399. dwd has left
  400. dwd has joined
  401. dwd has left
  402. pdurbin has left
  403. dwd has joined
  404. rtq3 has left
  405. rtq3 has joined
  406. dwd has left
  407. dwd has joined
  408. eevvoor has left
  409. dwd has left
  410. Nekit has joined
  411. debacle has left
  412. remko has left
  413. dwd has joined
  414. COM8 has joined
  415. wurstsalat has left
  416. COM8 has left
  417. Kacper has left
  418. goffi has left
  419. Kacper has joined
  420. lnj has left
  421. COM8 has joined
  422. COM8 has left
  423. debacle has joined
  424. wurstsalat has joined
  425. eevvoor has joined
  426. lumi has joined
  427. Kacper has left
  428. Yagiza has left
  429. rtq3 has left
  430. rtq3 has joined
  431. pdurbin has joined
  432. dwd has left
  433. dwd has joined
  434. dwd has left
  435. dwd has joined
  436. pdurbin has left
  437. Douglas Terabyte has joined
  438. zach has left
  439. zach has joined
  440. Douglas Terabyte has left
  441. Douglas Terabyte has joined
  442. dwd has left
  443. dwd has joined
  444. Douglas Terabyte has left
  445. dwd has left
  446. Lance has left
  447. dwd has joined
  448. Nekit has left
  449. Alex has left
  450. dwd has left
  451. dwd has joined
  452. Tobias has left
  453. Alex has joined
  454. dwd has left
  455. dwd has joined
  456. APach has left
  457. APach has joined
  458. dwd has left
  459. dwd has joined
  460. Douglas Terabyte has joined
  461. dwd has left
  462. Tobias has joined
  463. dwd has joined
  464. andy has left
  465. dwd has left
  466. dwd has joined
  467. lumi has left
  468. lumi has joined
  469. debacle has left
  470. rtq3 has left
  471. pdurbin has joined
  472. pdurbin has left
  473. lumi has left
  474. Wojtek has joined
  475. Wojtek has left