• (Dialog) Delay when switching servers

    From Lars Anders@21:1/5 to All on Sun Feb 27 23:25:55 2022
    On computer I lose Internet or Internet is slow and then come back.

    In 40tude Dialog when computer lose or slow Internet and then reconnect but
    I next try to get new messages in Newsgroup A, it will not get messages.

    It timeout.
    For no good reason it time out.

    I slow to learn I must switch to get messages in Newsgroup B first and only then will Dialog even try to get messages out of Newsgroup A.

    I lower all timeouts in
    "Settings => General settings => Connections => Available"
    "Read timeout: 10000"
    "Disconnect from servers after: 50000"
    "Maximum numb er of simultaneous threads: 10"
    "Number of threads started at once: 5"

    But doing it only lower the aggravation to half of what it was. :)

    Have you see a thing as needing to double click on Newsgroup B first and
    then need to double click on Newsgroup B for no good reason and then need to back to continue getting new messages from Newsgroup A?

    Is OK. But is frustrated to me.
    I do not understand why it happen.
    --
    And what does "Minimal blocking threads" describe setting?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From VanguardLH@21:1/5 to Lars Anders on Sun Feb 27 17:52:39 2022
    Lars Anders wrote:

    On computer I lose Internet or Internet is slow and then come back.

    In 40tude Dialog when computer lose or slow Internet and then reconnect but
    I next try to get new messages in Newsgroup A, it will not get messages.

    It timeout.
    For no good reason it time out.

    I slow to learn I must switch to get messages in Newsgroup B first and only then will Dialog even try to get messages out of Newsgroup A.

    I lower all timeouts in
    "Settings => General settings => Connections => Available"
    "Read timeout: 10000"
    "Disconnect from servers after: 50000"
    "Maximum numb er of simultaneous threads: 10"
    "Number of threads started at once: 5"

    But doing it only lower the aggravation to half of what it was. :)

    Have you see a thing as needing to double click on Newsgroup B first and
    then need to double click on Newsgroup B for no good reason and then need to back to continue getting new messages from Newsgroup A?

    Is OK. But is frustrated to me.
    I do not understand why it happen.

    When I've had an outage, like when the ISP decides to reprovision the
    cable modem or change DHCP setup (which means the IP binding is lost),
    I've exited (unloaded) Dialog to get it to reconnect okay again (after
    teh cable modem is ready, and after a web connect works okay). There
    might be shorter methods, but exiting, waiting for Internet access
    again, and reloading Dialog is easy.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From JAB@21:1/5 to VanguardLH on Sun Feb 27 19:05:02 2022
    On Sun, 27 Feb 2022 17:52:39 -0600, VanguardLH <V@nguard.LH> wrote:

    reloading Dialog is easy.

    Why are you always such an asshole VanguardLH!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bernd Rose@21:1/5 to Lars Anders on Tue Mar 1 18:40:31 2022
    On Sun, 27th Feb 2022 23:25:55 +0100, Lars Anders wrote:

    In 40tude Dialog when computer lose or slow Internet and then reconnect but
    I next try to get new messages in Newsgroup A, it will not get messages.
    [...]
    I lower all timeouts in
    "Settings => General settings => Connections => Available"

    Only "Disconnect from servers" should matter in your case. Monitor the "Connections" count on the right side of the status bar. As long as it
    is not zero, pending connections are kept open.

    Apart from aforementioned timeout you also should consider ticking *off*
    "Use pipelining" within the server settings. Pipelining assumes stable connections with reduced handshake overhead. In cases with frequent
    connection losses, this assumption is clearly wrong.

    Bernd

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From VanguardLH@21:1/5 to Bernd Rose on Tue Mar 1 15:37:25 2022
    Bernd Rose wrote:

    Lars Anders wrote:

    In 40tude Dialog when computer lose or slow Internet and then reconnect but >> I next try to get new messages in Newsgroup A, it will not get messages.
    ...
    I lower all timeouts in
    "Settings => General settings => Connections => Available"

    Only "Disconnect from servers" should matter in your case. Monitor the "Connections" count on the right side of the status bar. As long as it
    is not zero, pending connections are kept open.

    Apart from aforementioned timeout you also should consider ticking *off*
    "Use pipelining" within the server settings. Pipelining assumes stable connections with reduced handshake overhead. In cases with frequent connection losses, this assumption is clearly wrong.

    https://datatracker.ietf.org/doc/html/rfc3977#page-22

    Looks like erratic connects are not the only cause.

    "However, certain server implementations throw away all text received
    from the client following certain commands before sending their
    response. If this happens, pipelining will be affected because one or
    more commands will have been ignored or misinterpreted, and the client
    will be matching the wrong responses to each command."

    Elsewhere in the RFC is noted some commands, like session admin
    commands, must not be pipelined. Supposedly Dialog already knows those.

    Any idea how much performance boost that pipelining affords?

    For e-mail servers, connecting to them usually returns an OK status
    along with a list of keywords mentioning the capabilities of the server.
    For example:

    telnet imap.comcast.net 143

    returns a status of (in 1 line, not wrapped as shown below):

    OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS LOGINDISABLED] Dovecot ready.

    I didn't see that when connecting to my NNTP server via:

    telnet news.individual.net 119

    I tried sending the CAPABILITIES command after login to the NNTP server,
    but got a "What?" meaning it didn't understand the command. However,
    from the examples of multi-line status returned by the CAPABILITIES
    command, showing the server supports pipelining is not one of the
    reported statuses. I'm not sure how you can determine if the NNTP
    server supports pipelining.

    "Except where stated otherwise, a client MAY use pipelining. That is,
    it may send a command before receiving the response for the previous
    command. The server MUST allow pipelining and MUST NOT throw away any
    text received after a command. Irrespective of whether pipelining is
    used, the server MUST process commands in the order they are sent."

    Okay, pipelining must be supported by the server, but that may only
    apply to NNTP servers that are RFC 3977 compliant. The OP didn't
    mention to which NNTP server(s) he was connecting. RFC 3977 was
    ratified back in 2006. Give another 6 years for adoption, and NNTP
    server should be supporting pipelining since, at least, 2012 - 20 years
    ago. But that doesn't stop someone from running an ancient NNTP server,
    or a non-compliant one.

    The OP is an AOIElian for his thread here. Presumably that's the NNTP
    server to which he is connecting when there are connection faults. I've
    had pipelining enabled in Dialog for decades, and I've used AIOE in the
    past, and don't remember AOIE reports as non-pipeline supporting.

    The OP mentioned losing Internet access, and then having to switch
    between newsgroups (perhaps on the same NNTP server, or perhaps to
    different NNTP servers). I've seen where a loss in Internet access was
    caused by loss of the IP bind with the DHCP server. The ISP might
    reprovision the cable modem, or there was a power outage and the old
    binding expired requiring a new DHCP binding. When that happens, and
    instead of rebooting the client hosts downstream of the DHCP server, I
    can often run:

    ipconfig /release *
    ipconfig /flushdns
    ipconfig /renew
    ipconfig /renew6

    Usually just getting rebind on IPv4 works alone, so the /renew6 for IPv6
    is superfluous. My setup supports both IPv4 and IPV6 connects, so I do
    both for assurance. Bindings survive their expiration, so you could
    have a binding that is days, weeks, or months old, but once there is a disconnection, the expired binding has to be renewed with a new one with
    a later expiration. My ISP doles out binding that expire in 3 days, but
    I usually don't lose it until there is a power outage, I've bounced the
    power to the cable modem, or the ISP decides to do some DHCP work that
    voids my binding.

    Since the OP is just switching between newsgroups (same or different
    NNTP servers), could Dialog be forcing a rebind from the DHCP server?
    The OP reported only Internet problems with Dialog, not if the Internet
    was still accessible via other net clients, like a web browser.


    In addition:

    I configure Dialog to hide signature blocks as they are typically
    off-topic (to the thread, the newsgroup, or both) or is ego fluff. I
    didn't notice the OP put the following into a sigblock until I looked at
    the raw source of his message (to see his headers to note through which
    NNTP server he posted here):

    And what does "Minimal blocking threads" describe setting?

    No idea why the OP put his 2nd inquiry into his sigblock. I searched
    Dialog's on help on "blocking threads" which found the section in the
    Help at:

    How Dialog works
    Threads and Jobs

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rudolph Rhein@21:1/5 to VanguardLH on Wed Mar 2 08:07:16 2022
    VanguardLH <V@nguard.LH> wrote:

    How Dialog works
    Threads and Jobs

    Threads and Jobs

    Whenever you get new headers, get an article body, send an article, etc. you create a job that Dialog processes in a thread. Each thread has its own connection to a newsserver.

    How many threads there are and which jobs are processed in which threads is explained below.

    The number of allowed connections to a server can be set on the Settings>Servers,Signatures,Identities>Newsservers page.

    Besides this per-server setting, there is an additional global option called Minimal blocking threads on the Settings>General settings>Misc.

    If this option is unchecked new jobs for a server are executed immediately until there are no more slots available. After that another job has to end first to get the job executed.

    If this option is checked things work a bit differently: The number of
    allowed threads in the server settings is divided by two. Jobs that tend to take longer, like "Get group list", "Get new headers", etc. go to the first half of the available slots only. Say, you allow 10 threads for a server and start "Get new headers" for 10 groups, only 5 are started immediately and
    there will be 5 unused slots. The second half of the slots is used for jobs that tend to either be fast or that one generally wants to execute
    immediately, like "get selected body" or "send article".

    Using Minimal blocking threads lets you get new headers in a long list of subscribed group for example and while headers come in for other groups you
    can still get bodies in other groups without having to wait for all the "Get headers" jobs to finish.

    Note that if there are no more jobs for a newsserver the connection is not immediately dropped, but kept open for another 3 minutes. To explicitly terminate all unused connections double click on the Connections: X area on
    the status bar.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bernd Rose@21:1/5 to VanguardLH on Wed Mar 2 07:37:01 2022
    On Tue, 1st Mar 2022 15:37:25 -0600, VanguardLH wrote:

    Bernd Rose wrote:
    [...]
    Apart from aforementioned timeout you also should consider ticking *off*
    "Use pipelining" within the server settings. Pipelining assumes stable
    connections with reduced handshake overhead. In cases with frequent
    connection losses, this assumption is clearly wrong.

    https://datatracker.ietf.org/doc/html/rfc3977#page-22

    Looks like erratic connects are not the only cause.

    That's right. Just one of several causes. (I only concentrated on the
    question at hands in my reply.)

    Any idea how much performance boost that pipelining affords?

    Using pipelining should result in a (very small) boost and prevent loosing server side access slots when the server has high load. How much so, I
    never cared enough about to test. As long as no /very/ large header lists
    or the like are retrieved, the effect is probably near immeasurable.

    In addition:

    I configure Dialog to hide signature blocks as they are typically
    off-topic (to the thread, the newsgroup, or both) or is ego fluff. I
    didn't notice the OP put the following into a sigblock until I looked at
    the raw source of his message (to see his headers to note through which
    NNTP server he posted here):

    And what does "Minimal blocking threads" describe setting?

    No idea why the OP put his 2nd inquiry into his sigblock.

    I don't hide sigs, but usually completely ignore them. (Like in this
    case.) IMHO, the OP just wanted to create thematic sections in his
    message and /accidentally/ did so by inserting a sig-divider.

    As of the content of this question: You already pointed to the best source
    of information.

    Bernd

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lars Anders@21:1/5 to Bernd Rose on Wed Mar 2 20:53:09 2022
    On 1 Mar 2022, Bernd Rose <b.rose.tmpbox@arcor.de> wrote :

    Using pipelining should result in a (very small) boost and prevent loosing server side access slots when the server has high load.


    I add 10x to "Disconnect from servers" & I turn to off pipeline.
    Is this recommend important setting?
    "Settings => General settings => Connections => Available"
    "Read timeout: 10000"
    "Disconnect from servers after: 500000"
    "Maximum numb er of simultaneous threads: 10"
    "Number of threads started at once: 5"
    "Minimal blocking threads = off"
    "Settings =>Servers... => Newsservers"
    "Server Pipeline = off"
    "Allwd conn = 2"

    If not do please tell me what change!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From VanguardLH@21:1/5 to Lars Anders on Wed Mar 2 19:32:41 2022
    Lars Anders wrote:

    On computer I lose Internet or Internet is slow and then come back.

    In 40tude Dialog when computer lose or slow Internet and then reconnect but
    I next try to get new messages in Newsgroup A, it will not get messages.

    It timeout.
    For no good reason it time out.

    I slow to learn I must switch to get messages in Newsgroup B first and only then will Dialog even try to get messages out of Newsgroup A.

    I lower all timeouts in
    "Settings => General settings => Connections => Available"
    "Read timeout: 10000"
    "Disconnect from servers after: 50000"
    "Maximum numb er of simultaneous threads: 10"
    "Number of threads started at once: 5"

    But doing it only lower the aggravation to half of what it was. :)

    Have you see a thing as needing to double click on Newsgroup B first and
    then need to double click on Newsgroup B for no good reason and then need to back to continue getting new messages from Newsgroup A?

    Is OK. But is frustrated to me.
    I do not understand why it happen.

    What you describe happening in Dialog reflects what you already noted
    about your Internet access: you're losing Internet access, or it is
    slow, so everything else network-centric is going to reflect the same
    problems. Need to address why you are often losing Internet access, or
    why it becomes overly slow.

    What type of Internet connection do you have? Are you using cable, DSL, dial-up, or satellite? Who is your ISP?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lars Anders@21:1/5 to VanguardLH on Thu Mar 3 04:01:23 2022
    On 2 Mar 2022, VanguardLH <V@nguard.LH> wrote :

    What type of Internet connection do you have? Are you using cable, DSL, dial-up, or satellite? Who is your ISP?

    I pay two ISP and can switch to one of two routers set up manually with one cable disconnect. It often happen when I switch ISP from ISP A to ISP B or
    from ISP B to ISP A (not matter which way).

    Only happen with Dialog.
    Not happen any other program.
    Only Dialog.

    Easy to fix.

    Doubleclick Newsgroup A and nothing happen.
    What?
    Wait. Nothing happen.
    Wait. Nothing happen.

    Oh. Doubleclick on Newsgroup B and then Doubleclick on Newsgroup A.
    Work fine.

    Every time same happen!
    Only Dialog.

    Dialog become confused some way.
    Unconfuse dialog by doubleclick any Newsgroup B & then Newsgroup A.

    Simple.
    Easy.
    Repeated.

    But why?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From VanguardLH@21:1/5 to Lars Anders on Wed Mar 2 21:56:06 2022
    Lars Anders wrote:

    On 2 Mar 2022, VanguardLH <V@nguard.LH> wrote :

    What type of Internet connection do you have? Are you using cable, DSL,
    dial-up, or satellite? Who is your ISP?

    I pay two ISP and can switch to one of two routers set up manually with one cable disconnect. It often happen when I switch ISP from ISP A to ISP B or from ISP B to ISP A (not matter which way).

    Only happen with Dialog.
    Not happen any other program.
    Only Dialog.

    Easy to fix.

    Doubleclick Newsgroup A and nothing happen.
    What?
    Wait. Nothing happen.
    Wait. Nothing happen.

    Oh. Doubleclick on Newsgroup B and then Doubleclick on Newsgroup A.
    Work fine.

    Every time same happen!
    Only Dialog.

    Dialog become confused some way.
    Unconfuse dialog by doubleclick any Newsgroup B & then Newsgroup A.

    Simple.
    Easy.
    Repeated.

    But why?

    I would start watching the Status panel in Dialog. When you had
    newsgroup A selected, and after the network issues, click on newsgroup A
    again, as you noted, but see if any action was committed in the Status
    panel. I'd watch the Log and Errors tabs to see if re-clicking on
    newsgroup A actually has Dialog do anything.

    When I watch the Log tab of the Status panel, every time I click on the
    same newsgroup (no change in focus, just clicking on the same already
    selected newsgroup), I see "Getting new headers in <newsgroup>" entry
    added to the Log tab. However, since there are rarely any changes in
    new messages on the server when I'm quickly re-clicking on the same
    newsgroup, I also see "0 headers received." When you re-click on the
    sane newsgroup A, see if those two entries show up in the Log tab of the
    Status panel.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bernd Rose@21:1/5 to Lars Anders on Thu Mar 3 08:04:31 2022
    On Wed, 2nd Mar 2022 20:53:09 +0100, Lars Anders wrote:

    I add 10x to "Disconnect from servers"

    Why would you do this?? You tell 40tude Dialog this way, to try to use the
    the invalid old network connection sockets even /longer/! With your kind of problems I'd go for something like 15 seconds (aka 15000).

    Whenever you lost/switched your internet connection you monitor the
    connection status (lower right), as I already wrote. As long as it
    isn't "Connections: 0" Dialog will still try to reuse the old network
    settings. And like Rudolph wrote: You can always cut existing connections
    by double-clicking on this status field.

    & I turn to off pipeline.

    Okay.

    Rest of the settings is fairly irrelevant to your problem.

    Bernd

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lars Anders@21:1/5 to Bernd Rose on Thu Mar 3 21:26:03 2022
    On 3 Mar 2022, Bernd Rose <b.rose.tmpbox@arcor.de> wrote :

    Rest of the settings is fairly irrelevant to your problem.

    I realize late I have different READ servers (ex = dizum read only).
    Depending on any READ server I was used at the time I subscribe.
    Can that different ng READ server be relevent to this problem or no?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bernd Rose@21:1/5 to Lars Anders on Fri Mar 4 07:12:23 2022
    On Thu, 3rd Mar 2022 21:26:03 +0100, Lars Anders wrote:

    On 3 Mar 2022, Bernd Rose <b.rose.tmpbox@arcor.de> wrote :

    Rest of the settings is fairly irrelevant to your problem.

    I realize late I have different READ servers (ex = dizum read only). Depending on any READ server I was used at the time I subscribe.
    Can that different ng READ server be relevent to this problem or no?

    I'm not sure, I understand above question correctly. But it shouldn't
    matter. From how you describe your problems and Dialogs behavior only
    the two - already mentioned - aspects should matter:

    If your internet connection gets (temporarily) lost so severely, that
    the system internet connection sockets need to be reestablished with
    different pointers (= system ID numbers that permit programs access
    to these sockets), then you need Dialog to get a new network socket
    pointer. (To be able to access network resources, again.) This requires
    either passive timeout of the established connections or active
    termination. (Best by double-clicking on the Connections status field.)

    If the internet connection is just unreliable, but keeps the pointers
    to network sockets in place, then server-side messages (like termination
    of an active connection) may get lost. Subsequent access attempts from
    Dialog to the server (on the assumption, that the connection is still
    active and well) will fail. If such cases happen somewhat frequently,
    it is a good idea to /not/ use pipelining. (Because without it Dialog
    does not use shortened requests for additional data.)

    Further reading:
    https://en.wikipedia.org/wiki/Network_socket https://en.wikipedia.org/wiki/Pointer_(computer_programming)

    HTH.
    Bernd

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From VanguardLH@21:1/5 to Bernd Rose on Fri Mar 4 10:12:40 2022
    Bernd Rose wrote:

    ... (Best by double-clicking on the Connections status field.) ...

    Okay, I'm curious. Where is this "Connections" status [field]? If this
    is a tab in the Status window, I don't have it. The only tabs in the
    Status window are Log, Active threads, Queued jobs, and Errors. I've
    gone through the menu entries, but no "Connections status" choice.
    Didn't find anything in settings, either.

    I right-clicked on the header rows in each pane to see if a Connections
    field could be added. Those fields are defined using variable names,
    like %status%, %datelocal%, %subject%, %from%, etc. Nothing there for %connections%. However, the help on the variable names is incomplete;
    for example, %plusminus% is not defined in help, but is an available
    column header on which can be clicked.

    Buttons in toolbars are just shortcuts to menu entries, or to stored
    scripts. I've right-clicked on the header field in the preview pane to
    see how it might be customized. Its help doesn't mention a connections "header" to show, but the preview pane is just for a particular message,
    not for connections to a server.

    A "Connections status field" sounds useful, but I can't find it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bernd Rose@21:1/5 to VanguardLH on Fri Mar 4 18:26:27 2022
    On Fri, 4th Mar 2022 10:12:40 -0600, VanguardLH wrote:

    Bernd Rose wrote:

    ... (Best by double-clicking on the Connections status field.) ...

    Okay, I'm curious. Where is this "Connections" status [field]?

    Rightmost portion of the status bar on the bottom of the main window.
    It just shows the number of (still) active connections and can be used
    to disconnect them all at once by double-clicking. (Has been mentioned
    several times in the original thread.)

    Bernd

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Quinn C@21:1/5 to All on Fri Mar 4 19:01:22 2022
    * VanguardLH:

    Bernd Rose wrote:

    ... (Best by double-clicking on the Connections status field.) ...

    Okay, I'm curious. Where is this "Connections" status [field]? If this
    is a tab in the Status window, I don't have it. The only tabs in the
    Status window are Log, Active threads, Queued jobs, and Errors. I've
    gone through the menu entries, but no "Connections status" choice.
    Didn't find anything in settings, either.

    It's in the footer, the bottom line of the Dialog main window, at the
    right end. Right lower corner, as someone already wrote. Right next to
    where you can grab the window to resize.

    Even if you don't have the status window open, the left side of that bar
    will show errors; currently, it says "Read Timeout($servername)" on
    mine.

    --
    Ice hockey is a form of disorderly conduct
    in which the score is kept.
    -- Doug Larson

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lars Anders@21:1/5 to VanguardLH on Sat Mar 5 04:11:39 2022
    On 4 Mar 2022, VanguardLH <V@nguard.LH> wrote :

    Bernd Rose wrote:

    ... (Best by double-clicking on the Connections status field.) ...

    Okay, I'm curious. Where is this "Connections" status [field]?

    Bottom corner right.
    Small box.
    Only show main window.
    Not show composition window.
    Say [0] or it say [1] or it say [2].
    Like that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From VanguardLH@21:1/5 to Bernd Rose on Sat Mar 5 02:28:26 2022
    Bernd Rose wrote:

    VanguardLH wrote:

    Bernd Rose wrote:

    ... (Best by double-clicking on the Connections status field.) ...

    Okay, I'm curious. Where is this "Connections" status [field]?

    Rightmost portion of the status bar on the bottom of the main window.
    It just shows the number of (still) active connections and can be used
    to disconnect them all at once by double-clicking. (Has been mentioned several times in the original thread.)

    Oh, that itty bitty text in the lower right corner, like trying to see
    noseeums (super tiny gnats). Completely missed it. Thanks for pointing
    it out.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)