undefined is not an object (evaluating 'prevRect.left')

I'm submitting a ...

[ ] question
[x] any problem or bug report

OS:  (check one with "x")

[ ] Android
[x] iOS
[ ] Browser

cordova information:  (run $> cordova plugin list)
> cordova plugin ls
cordova-plugin-actionsheet 2.3.3 "ActionSheet"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-dialogs 2.0.1 "Notification"
cordova-plugin-facebook4 4.2.1 "Facebook Connect"
cordova-plugin-firebase-analytics 2.0.3 "FirebaseAnalyticsPlugin"
cordova-plugin-firebase-config 2.0.3 "cordova-plugin-firebase-config"
cordova-plugin-firebase-dynamiclinks 2.0.3 "FirebaseDynamicLinksPlugin"
cordova-plugin-firebase-messaging 2.1.5 "FirebaseMessagingPlugin"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-googlemaps 2.6.2 "cordova-plugin-googlemaps"
cordova-plugin-inappbrowser 3.0.0 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.0.1 "cordova-plugin-ionic-webview"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-stripe 1.5.3 "cordova-plugin-stripe"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-x-socialsharing 5.4.4 "SocialSharing"
cordova-support-android-plugin 1.0.1 "cordova-support-android-plugin"
cordova-support-google-services 1.2.1 "cordova-support-google-services"
es6-promise-plugin 4.2.2 "Promise"
uk.co.workingedge.phonegap.plugin.launchnavigator 5.0.4 "Launch Navigator"

If you use @ionic-native/google-maps, please tell the package.json (only @ionic-native/core and @ionic-native/google-maps are fine mostly)
@ionic-native/core : 5.7.0
@ionic-native/google-maps : 5.5.0

Current behavior:

Occasionally a runtime error occurs.
Expected behavior:

For the conditions that result in the undefined variable to not arise or for it to be handled in a way that does not cause a runtime error.
Screen capture or video record:

This happened with a device in production. I have yet to been able to reproduce this.
Related code, data or error log (please format your code or data):
https://github.com/mapsplugin/cordova-plugin-googlemaps/blob/3f6ce0f97b1ac2aafcb35c389a9dec7031b7054b/www/js_CordovaGoogleMaps-for-android_ios.js#L436-L442

@wf9a5m75 I got this error from our error reporting service (Sentry). It happened to a user in production. It seems like a race condition. I'm not sure if an appropriate fix would be to check for prevRect to be undefined or if there may be a better fix.

Happy to hear your thoughts.

Please prove the HTML where is the error occurred.

@wf9a5m75 I am not even sure which map caused the issue. I have attached the information I have regarding the issue. If you look at the pages the user visited, at least for the history captured in the breadcrumbs, you'll see navigation events. None of those pages contain a map so it would have been in the breadcrumb history that was truncated. In other words, we have no way of knowing which map caused it.
I'm guessing some cleanup code is trying to run after the map is gone. We should be able to detect when prevRect is null and sensibly handle it, correct?

The purpose of detectTransitionFinish is to detect the timing of transition of CSS.
Since this plugin watches all transition events everywhere, the page where error occurred is not related with maps page.
Please create a simple project that has two views, that reproduce this part.

I guess this error occurred when the manage-business view disappeared unexpectedly.

I have yet to have been able to reproduce this so I am currently unable to provide a code sample to do so. Since it happened once, it can obviously happen again. It would seem wise to protect against this case just as you would expect to guard against known things like dividing by 0.
Would this be a sane fix or does it have issues?
    // Added !prevRect
    if (!prevRect || divRect.left === prevRect.left &&
        divRect.top === prevRect.top &&
        divRect.right === prevRect.right &&
        divRect.bottom === prevRect.bottom) {
      self.transformTargets[elemId].finish = true;
    }

I can't agree without enough test.

Although there is no enough information, but the code is updated to prevent the error.


cannot start bot - property 'name' undefined

I followed instruction and have upgraded node, installed yarn and build the application. But when I try to create bot and then test/run (just a simple Echo Bot from template) - I am getting:
Sorry, something went wrong with connecting bot runtime.
Cannot read property 'name' of undefined.
Version
Release: Preview 1.0
Application SHA: test
SDK runtime packages: 4.6.0-preview2
Browser

[x ] Chrome
[ ] Safari
[ ] Firefox
[ x] Edge

OS
What operating system are you using?

[ ] macOS
[ x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:
i folowed https://github.com/microsoft/BotFramework-Composer/blob/stable/docs/tutorial-create-echobot.md
Screenshots

after I Test in Emulator, the Bot does not work well for Echo Bot.
The error is shown below.

You may hit #1535 and we've already merged the fix into master . This will sync with stable branch soon.

Ok, and is there a workaround? (Or how to bot start from scratch?
Michal
On Sun, 10 Nov 2019 at 13:45, Brenda Bai<EMAIL_ADDRESS>wrote:

You may hit #1535
https://github.com/microsoft/BotFramework-Composer/issues/1535 and
we've already merged the fix into master . This will sync with stable
branch soon.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/BotFramework-Composer/issues/1541?email_source=notifications&email_token=AD2T7DGZUFXG2LVYASGUVHLQS767NA5CNFSM4JK4QQNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDU4LTA#issuecomment-552191436,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD2T7DAP3XOC4RFY5NJKDYDQS767NANCNFSM4JK4QQNA
.

@michalmar  I think still not fixed.

Work around is to checkout the master branch and use that until the fix lands in stable.

This case can closed, I had test with the latest update.


Cannot update cloudflare_email_routing_rule: required rule id missing

Confirmation

[X] This is a bug with an existing resource and is not a feature request or enhancement. Feature requests should be submitted with Cloudflare Support or your account team.
[X] I have searched the issue tracker and my issue isn't already found.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
Terraform v1.8.3
on darwin_arm64
provider registry.terraform.io/cloudflare/cloudflare v4.35.0
Affected resource(s)

cloudflare_email_routing_rule

Terraform configuration files
terraform {
  required_providers {
    cloudflare = {
      source  = "cloudflare/cloudflare"
      version = "4.35.0"
    }
  }

  required_version = ">= 1.2.0"
}

provider "cloudflare" {}

resource "cloudflare_zone" "repro_zone" {
  account_id = "48364b099cc965f71761d67bc5314bd4"
  zone       = "pulumi.com"
}

resource "cloudflare_email_routing_rule" "CfEmailRedirects" {
  zone_id = cloudflare_zone.repro_zone.id
  name    = "CfEmailRedirects"
  enabled = true

  matcher {
    type  = "literal"
    field = "to"
    value =<EMAIL_ADDRESS>  }

  action {
    type  = "forward"
    value =<EMAIL_ADDRESS># Twiddle 1 -> 2 to reproduce
  }

  priority = 0
}

Link to debug output
https://gist.github.com/iwahbe/6c572def584838b5fb3cc9e66d936b4b
Panic output
No response
Expected output
I expect that I can change the value of cloudflare_email_routing_rule.action.value.0 and the provider will update or replace my forwarding rule.
Actual output
terraform apply
cloudflare_zone.repro_zone: Refreshing state... [id=9d73e1680af07766fa34f6396847b02c]
cloudflare_email_routing_rule.CfEmailRedirects: Refreshing state... [id=aaccc739a4234994ac47ff0919e5d91c]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # cloudflare_email_routing_rule.CfEmailRedirects will be updated in-place
  ~ resource "cloudflare_email_routing_rule" "CfEmailRedirects" {
      ~ id       = "aaccc739a4234994ac47ff0919e5d91c" -> (known after apply)
        name     = "CfEmailRedirects"
      ~ tag      = "aaccc739a4234994ac47ff0919e5d91c" -> (known after apply)
        # (3 unchanged attributes hidden)

      - action {
          - type  = "forward" -> null
          - value = [
              -<EMAIL_ADDRESS>            ] -> null
        }
      + action {
          + type  = "forward"
          + value = [
              +<EMAIL_ADDRESS>            ]
        }

        # (1 unchanged block hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

yes
  Enter a value:
cloudflare_email_routing_rule.CfEmailRedirects: Modifying... [id=aaccc739a4234994ac47ff0919e5d91c]
╷
│ Error: failed updating email routing rule
│
│   with cloudflare_email_routing_rule.CfEmailRedirects,
│   on main.tf line 19, in resource "cloudflare_email_routing_rule" "CfEmailRedirects":
│   19: resource "cloudflare_email_routing_rule" "CfEmailRedirects" {
│
│ required rule id missing
╵
Error: exit status 1
An error occurred: exit status 1

Steps to reproduce

Run terraform apply on the original program, typing "yes" when prompted, creating the resource.
Change cloudflare_email_routing_rule.CfEmailRedirects.action.value.0 from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>Run terraform apply and type "yes", the resource will fail to update.

Additional factoids
I don't see anything in the documentation for this resource indicating where I should pass a rule ID.
References
No response

this looks to be coming from the underlying Go library suggesting that RuleID is not being correctly - https://github.com/cloudflare/cloudflare-go/blob/f5d3137ca61667ba17be32b54feef5a4e53a023c/email_routing_rules.go#L187
in the provider we use tag as the ID (legacy reasons that we can migrate away from now) however, in the debug log, i see it does not have a value.
2024-06-25T18:07:13.415-0700 [DEBUG] provider.terraform-provider-cloudflare_v4.35.0: marking computed attribute that is null in the config as unknown: tf_mux_provider="*proto6server.Server" tf_attribute_path="AttributeName(\"tag\")"

can you confirm if that is set in your state? or if you only have id.

This is my state file: https://gist.github.com/iwahbe/16c423d8fcd87c0e10d6af6d320da631. It looks like both tag and id are set.

odd - nothing obvious is jumping out at me so i'll need to have a dig into what is happening here.


feat: solve year 2022, day 12

Closes: #28

:tada: This PR is included in version 1.12.0 :tada:
The release is available on:

v1.12.0
GitHub release

Your semantic-release bot :package::rocket:


[DO NOT MERGE, TESTING ONLY] Release Qualification

Trigger release qualification jobs
none

/retest

/retest

/lgtm

/hold

/retest

/retest

/retest


API Key support

Hello,
Not sure if its an issue or if its my shoddy attempt at using the API, but I don't see support for adding an API key to the end of the urls here. Is that something you are interested in supporting? I could add if so.

I'd gladly welcome that support!  I recall a few people on a reddit thread mentioning that they'd enjoy it :smile:
Did you have a particular geocoder in mind?

I had all the geocoders in mind :) I made a pull request. Thanks for writing this, its a great help and has been a really good introduction to Golang for me.

Merged in as a part of v0.5.4!


GAPIC auto generated code should allow manual flow control

In cloud spanner Java client, we use manual flow control for the streaming rpcs here:
https://github.com/GoogleCloudPlatform/google-cloud-java/blob/master/google-cloud-spanner/src/main/java/com/google/cloud/spanner/spi/v1/GrpcSpannerRpc.java#L519
We would need this support in GAPIC code as well before we can change to use that. Specifically we want to manually request for more messages from the stream rather than the client automatically getting the next message.

@vkedia , it turns out that manual flow control in grpc is experimental:
https://github.com/grpc/grpc-java/issues/1788
So unfortunately we can't add a dependency on that until the @ExperimentalApi is removed. Otherwise, users could get broken when we upgrade the version of grpc in use.

Additionally, google-cloud-spanner's direct usage of this @ExperimentalApi feature will prevent it from going to 1.0 even if it is never added to GAX.

I see. Thanks for bringing this to my attention. I will talk to gRPC team and see if they have any plans to make this non experiemental.


Okhttp update, working display of cache misses, small rate limit improvement

Saving some work on rate limit for later

noticed github library tests with a much newer okhttp library (4.4.1), think we pinned a lower (3.14.2) version and it worked due to some of their backwards compatibility includes https://github.com/hub4j/github-api/blob/github-api-1.123/pom.xml#L40
used 4.7.0 to gain access to easier to read cache miss messages https://github.com/square/okhttp/blob/edf477cb4e7b1d59c6e3e5ac00870619340ce990/CHANGELOG.md#version-470
numbers didn't add up, so noticed we have a method low-balling rate limit using calls
noticed that cache is not being properly saved on exit (can confirm by running a github release, shutting down, then re-running the same release twice. The first and second call will make actual calls while the third will run entirely from cache)

Edit:

cache is being saved properly, but constantly changing JWT token (every ten minutes) or restarting the web service clears it instantly since the the JWT token cache is only in memory
debugging by putting a breakpoint at https://github.com/dockstore/dockstore/pull/4096/files#diff-1d1e171d7034c5aa326eaa5c95926ed80c493c7d9663651407bddad8e752a435R126 is the most useful. See https://square.github.io/okhttp/caching/ for details
had an attempt at recording rate limit used on a test suite level, but it didn't quite work out
suspicious of https://github.com/dockstore/dockstore/pull/4096/files#diff-1d1e171d7034c5aa326eaa5c95926ed80c493c7d9663651407bddad8e752a435R895 which always results in a big pile of cache misses on a bunch of our testing repos that have no tags
deleted a bunch of unreachable private methods while debugging

Additional warning: a bunch of our tests suppress output on test success, so you don't necessarily see the cache miss messages
Look at /tmp/dockstore-web-cache.misses.log for a list of cache misses when running on CircleCI

might be part of https://github.com/dockstore/dockstore/issues/3802

Preliminary break-down of rate limit can be done by grabbing the various cache miss logs then:
$ cat *.txt | grep "api.github" | sort | uniq -c | sort -bgr | less | head -n 20
     77 https://api.github.com/repos/DockstoreTestUser2/hello-dockstore-workflow/license
     42 https://api.github.com/repos/DockstoreTestUser2/TestEntryValidation/license
     39 https://api.github.com/repos/DockstoreTestUser2/dockstore_workflow_cnv/license
     21 https://api.github.com/repos/DockstoreTestUser2/dockstoreyml-github-filters-test/license
     16 https://api.github.com/repos/DockstoreTestUser2/test_lastmodified/license
     16 https://api.github.com/repos/DockstoreTestUser2/dockstore_workflow_cnv/contents//workflow?ref=rootTest
     16 https://api.github.com/repos/DockstoreTestUser2/dockstore-tool-imports/license
     13 https://api.github.com/repos/DockstoreTestUser/dockstore-whalesay-wdl/license
     13 https://api.github.com/repos/DockstoreTestUser2/test-service/license
     12 https://api.github.com/repos/DockstoreTestUser2/parameter_test_workflow/license
     11 https://api.github.com/user/orgs
     11 https://api.github.com/repos/DockstoreTestUser/ampa-nf/license
     10 https://api.github.com/user
     10 https://api.github.com/repos/DockstoreTestUser2/OxoG-Dockstore-Tools/license
      9 https://api.github.com/user/emails
      8 https://api.github.com/repos/DockstoreTestUser2/test_workflow_wdl/license
      7 https://api.github.com/users/DockstoreTestUser2
      7 https://api.github.com/repos/DockstoreTestUser/dockstore_parameter_test/license
      7 https://api.github.com/repos/DockstoreTestUser2/workflow-dockstore-yml/license
      7 https://api.github.com/repos/DockstoreTestUser2/workflow-dockstore-yml


Export to PDF support

It would be really helpful to give users the option to be able to export the graphs to PDF. Is there any way to do this right now?

@FabricioFFC @simogeo
Hi there. Could you use the approach to put the data in pdf? Thanks.

Here is what I'm using to convert the toDataURL() to a png image and save on my server, if it is of any help:
PHP code
    // Interpret data uri
    $uriPhp = 'data://' . substr($file, 5);
    // Get content
    $binary = file_get_contents($uriPhp);

    $file = 'uploads/charts/'. time() .'.png';

    // Save image
    file_put_contents($file, $binary);

Reference: http://stackoverflow.com/a/6735458/4575150

@metaxos @FabricioFFC : more or less the same here ...

A lazy but effective solution is to render your content on clientside and use a combination of javascript utilities to screenshot desired chart(s) (ex: html2canvas.js) and generate a pdf out of them (ex: jsPdf.js)

https://github.com/eligrey/FileSaver.js
https://eligrey.com/blog/saving-generated-files-on-the-client-side/
https://github.com/eligrey/canvas-toBlob.js
demo
https://www.youtube.com/watch?reload=9&v=GhgM8gfBzFQ


pytest warning: Too many plots opened

When I run pytest, matplotlib raises a warning about the number of plots that have been opened. I'm guessing each time a plot fixture is used, a new plot is opened. It doesn't ever render them and still seems to run fast, but maybe we should explicitly close them at the end of each test function?
Here's the warning:
"RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (matplotlib.pyplot.figure) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam figure.max_open_warning)."

hey @kysolvik totally. you just need to ensure you close each plot
https://github.com/earthlab/earthpy/blob/master/earthpy/tests/test_plot_bands.py#L20
i can't remember if ive done this with fixtures but i would imaging it would work the same where you call the fixture and then close it at the end of the text explicitly! We had the same issue with earthpy.

awesome, I'll give it a shot. Thanks @lwasser!

closing this as i fixed it in #56 referenced above!!


Hello! I tried reading the documentation multiple times and read some of the similar issues, but, couldn't get it working in my case.
I'm using Plyr.io as a media player on my website. Currently, I have Plyr's JS in my <head> as my entire website's JavaScript bundle. However, I don't need it on pages that don't have any media, so, I thought of removing it from such pages.
So now, on whichever page I need Plyr, I load its script as a separate file in my <head> and initialize Plyr in in a <script> before my </body>. Whenever I reach the page through Turbolinks' navigation, I get error in my console: Uncaught ReferenceError: Plyr is not defined pointing to the line in my <body>. However, it gives the error only when loading a page with Turbolinks for the first time. If I navigate to any other page and return back to this page, the media loads, probably because by then, the <script> has loaded. The error doesn't even come up when reloading the page through the browser or loading the page directly by URL.
By the way, I'm loading Playr like this:
document.addEventListener('turbolinks:load', function()
  {
    var players = Plyr.setup('.js-player', options)
  }

and disabled Turbolinks cache on the entire website by adding <meta name = "turbolinks-cache-control" content = "no-cache"> to all pages.
This can be checked by visiting my home page: https://quizzical-kare-8c7226.netlify.app/, then opening the project with the name Carry on bot. If you scroll till the end on that one, you can see that the video loads in a weird way and browser's console throws the error I mentioned above. However, if you go back to the home page using internal navigation of the website and then, load another project Windows 10 M, you can see that the video loads fine on that page.
So, how can I make sure the <script> in head is loaded before executing the one in <body> when using Turbolinks? I'm using the latest version of Turbolinks by the way.

When Turbolinks loads a page containing new scripts, it loads them asynchronously, so it will be executed after inline scripts in the <body>. It does not wait for external scripts to load, which would slow down page transitions.
The key benefit of Turbolinks is that scripts are only loaded and evaluated once, so before separating your scripts out, consider if you really need to do so. It can become a dependency mess when you start splitting things up.

The simplest way to fix this would be to bundle up your Plyr JS and your "loading" script into a single file and deliver that when needed. You wouldn't need the turbolinks:load event handler for this:
// Plyr script
// …
var players = Plyr.setup('.js-player', options)
// …

Alternatively you could trigger a custom event when the Plyr JS has loaded and pick that up in you main application JavaScript. Something lik:
// application.js
document.addEventListener('playr:load', function()
  {
    var players = Plyr.setup('.js-player', options)
  }

// Plyr script
// …
document.dispatchEvent(new Event('playr:load'))

I hope that helps.


Fix issue with byebug/core.rb unavailable from class methods

Description
When using byebug from within a class method, I often get an error like this:
     NoMethodError:
       undefined method `mode=' for Byebug:Module
     # /Users/markburns/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/byebug-9.0.6/lib/byebug/attacher.rb:13:in `attach'
     # /Users/markburns/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/byebug-9.0.6/lib/byebug/attacher.rb:30:in `byebug'

This is because mode= is defined in byebug/core.rb which is required in test_helper.rb.
I think it is important to be as close as possible to the files users will require in running the tests. So I believe this is the correct fix.
However, I am sorry that I do not have the time to work out how to create an isolated test to reproduce the problem (as by definition the test suite has already defined Byebug.mode=, hence fixing the issue).
If you know a good way to test this, other than manually, I'd be happy to have a go at adding one.
I have of course confirmed manually that this fixes the problem.

Hi @markburns, I'm not sure I understand the issue.
byebug/core is certainly required somewhere else since test_helper.rb is only used for byebug's tests. Does this happen when you run byebug's tests or somewhere else? Could you post some steps so I can reproduce the issue?
Regards!

It's actually quite intermittent, but persistent. I've been noticing it for years and thought I'd finally get round to fixing it.
I only ever notice it when trying to execute byebug from a class method. So I'm not sure of the cause exactly. However, a test to replicate it would need to remove the require from test_helper to ensure it isn't already loaded.
I'll have a look now and see if I can do a gist to replicate it.

:+1: Don't worry about a test, a repro is enough.
It's weird since byebug/core is required right before calling mode=: https://github.com/deivid-rodriguez/byebug/blob/master/lib/byebug/attacher.rb#L10-L13.

OK so looking at the code more closely I can see the reason for your confusion. It looks like this should never happen. Also I can't isolate easily.
I thought it was quite a simple problem with a simple solution. I can assure you that it definitely does happen, but am now at a complete loss for why and under what scenario it does.
Perhaps it is some combination of .*rc file setting and/or pry.
I'll close for now, and look further into it next time it happens. As when it does happen it seems to happen every time I re-run the test I'm working on.

Yes, please, do it. Thanks for reporting and following up.


change native-modules link to work on gh-pages

The link from native components to native modules is broken in the gh-pages docs. This PR points it to the right address in pages (note that this will break the link in the GitHub markdown view, but I think the number of people that will view the page through the docs site dwarf those who view it in the repository).

Thanks for the PR. Sorry, it took so long.


Added int32 conversion for inputs

For some reason, onnx converted my inputs to int64.
To resolve this issues, I tried preventively converting the dummy inputs to int32.

Closing as duplicate. Will be handled in #565.


Sometimes when starting multiple cluster members fast, it causes infinite loop in leadership

Occasionally when starting up the cluster, as the example in https://github.com/davhdavh/Raft3DockerClusterExample
the result is that it works, but it also causes an endless loop of leadership reelection messages.
It seems related to https://github.com/dotnet/dotNext/issues/108
It might also be because I just don't understand how AddMemberAsync is suppose to be used, the docs you added in https://github.com/dotnet/dotNext/issues/146 are clear as mud.
Or ColdStart? How am I supposed to known which cluster member is the "first" to start, or rather if I also have cluster aware decision making, why would I need to use Raft?

Sometimes there is also partial error, such as this example where it elects a leader, but then immediately after sending a message trough the messaging system decides that there is no consensus anymore and start election:

info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7098/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7098/
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7097/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7097/
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7096/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7096/
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7097/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7097/
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7096/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7096/
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7098/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7098/
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7097/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7097/
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7098/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7098/
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Peer discovered: https://raft3dockerclusterexample_7096/
Raft3DockerClusterExample.ClusterConfigurator: Information: Peer discovered: https://raft3dockerclusterexample_7096/
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://[::]:443
Microsoft.Hosting.Lifetime: Information: Now listening on: https://[::]:443
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
Microsoft.Hosting.Lifetime: Information: Application started.  Press Ctrl+C to shut down.
Microsoft.Hosting.Lifetime: Information: Application started.  Press Ctrl+C to shut down.
Microsoft.Hosting.Lifetime: Information: Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
Microsoft.Hosting.Lifetime: Information: Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\app
Microsoft.Hosting.Lifetime: Information: Content root path: C:\app
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75001]
Cluster member https://raft3dockerclusterexample_7098/ is unavailable
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at DotNext.Net.Cluster.Consensus.Raft.Http.RaftClusterMember.SendAsync[TResponse,TMessage](TMessage message, CancellationToken token) in /_/src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftClusterMember.cs:line 89
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Cluster member https://raft3dockerclusterexample_7098/ is unavailable
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at DotNext.Net.Cluster.Consensus.Raft.Http.RaftClusterMember.SendAsync[TResponse,TMessage](TMessage message, CancellationToken token) in /_/src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftClusterMember.cs:line 89
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75001]
Cluster member https://raft3dockerclusterexample_7097/ is unavailable
System.TimeoutException: A connection could not be established within the configured ConnectTimeout.
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Cluster member https://raft3dockerclusterexample_7097/ is unavailable
System.TimeoutException: A connection could not be established within the configured ConnectTimeout.
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 0
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 0
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75001]
Cluster member https://raft3dockerclusterexample_7096/ is unavailable
System.Threading.Tasks.TaskCanceledException: The operation was canceled.
---> System.IO.IOException: Unable to read data from the transport connection: The I/O operation has been aborted because of either a thread exit or an application request..
---> System.Net.Sockets.SocketException (995): The I/O operation has been aborted because of either a thread exit or an application request.
--- End of inner exception stack trace ---
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory1 buffer, CancellationToken cancellationToken)          at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at DotNext.Net.Cluster.Consensus.Raft.Http.RaftClusterMember.SendAsync[TResponse,TMessage](TMessage message, CancellationToken token) in /_/src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftClusterMember.cs:line 89
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Cluster member https://raft3dockerclusterexample_7096/ is unavailable
System.Threading.Tasks.TaskCanceledException: The operation was canceled.
---> System.IO.IOException: Unable to read data from the transport connection: The I/O operation has been aborted because of either a thread exit or an application request..
---> System.Net.Sockets.SocketException (995): The I/O operation has been aborted because of either a thread exit or an application request.
--- End of inner exception stack trace ---
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory1 buffer, CancellationToken cancellationToken)    at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)    at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)    at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)    --- End of inner exception stack trace ---    at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)    at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)    at DotNext.Net.Cluster.Consensus.Raft.Http.RaftClusterMember.SendAsync[TResponse,TMessage](TMessage message, CancellationToken token) in /_/src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftClusterMember.cs:line 89 fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]       An unhandled exception has occurred while executing the request.       System.OperationCanceledException: The operation was canceled.          at System.Threading.CancellationToken.ThrowOperationCanceledException()          at System.Threading.CancellationToken.ThrowIfCancellationRequested()          at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.StartAsync(CancellationToken cancellationToken)          at Microsoft.AspNetCore.Http.HttpResponseWritingExtensions.WriteAsync(HttpResponse response, String text, Encoding encoding, CancellationToken cancellationToken)          at DotNext.Net.Cluster.Consensus.Raft.Http.HttpMessage.SaveResponseAsync[T](HttpResponse response, T result, CancellationToken token) in /_/src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/HttpMessage.cs:line 92          at DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpMessage.SaveResponseAsync[T](HttpResponse response, Result1& result, CancellationToken token) in //src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftHttpMessage.cs:line 66
at DotNext.Net.Cluster.Consensus.Raft.Http.PreVoteMessage.SaveResponseAsync(HttpResponse response, Result`1 result, CancellationToken token) in //src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/PreVoteMessage.cs:line 46
at DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster.PreVoteAsync(PreVoteMessage request, HttpResponse response, CancellationToken token) in /_/src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftHttpCluster.Messaging.cs:line 283
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.g__Awaited|8_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware: Error: An unhandled exception has occurred while executing the request.
System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.Threading.CancellationToken.ThrowIfCancellationRequested()
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.StartAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Http.HttpResponseWritingExtensions.WriteAsync(HttpResponse response, String text, Encoding encoding, CancellationToken cancellationToken)
at DotNext.Net.Cluster.Consensus.Raft.Http.HttpMessage.SaveResponseAsync[T](HttpResponse response, T result, CancellationToken token) in //src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/HttpMessage.cs:line 92
at DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpMessage.SaveResponseAsync[T](HttpResponse response, Result1& result, CancellationToken token) in /_/src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftHttpMessage.cs:line 66    at DotNext.Net.Cluster.Consensus.Raft.Http.PreVoteMessage.SaveResponseAsync(HttpResponse response, Result1 result, CancellationToken token) in //src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/PreVoteMessage.cs:line 46
at DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster.PreVoteAsync(PreVoteMessage request, HttpResponse response, CancellationToken token) in //src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftHttpCluster.Messaging.cs:line 283
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.g__Awaited|8_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 0
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 0
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75001]
Cluster member https://raft3dockerclusterexample_7097/ is unavailable
System.Threading.Tasks.TaskCanceledException: The operation was canceled.
---> System.IO.IOException: Unable to read data from the transport connection: The I/O operation has been aborted because of either a thread exit or an application request..
---> System.Net.Sockets.SocketException (995): The I/O operation has been aborted because of either a thread exit or an application request.
--- End of inner exception stack trace ---
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory1 buffer, CancellationToken cancellationToken)          at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at DotNext.Net.Cluster.Consensus.Raft.Http.RaftClusterMember.SendAsync[TResponse,TMessage](TMessage message, CancellationToken token) in //src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftClusterMember.cs:line 89
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Cluster member https://raft3dockerclusterexample_7097/ is unavailable
System.Threading.Tasks.TaskCanceledException: The operation was canceled.
---> System.IO.IOException: Unable to read data from the transport connection: The I/O operation has been aborted because of either a thread exit or an application request..
---> System.Net.Sockets.SocketException (995): The I/O operation has been aborted because of either a thread exit or an application request.
--- End of inner exception stack trace ---
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory1 buffer, CancellationToken cancellationToken)    at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Http.HttpConnection.InitialFillAsync(Boolean async)
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpClient.HandleFailure(Exception e, Boolean telemetryStarted, HttpResponseMessage response, CancellationTokenSource cts, CancellationToken cancellationToken, CancellationTokenSource pendingRequestsCts)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at DotNext.Net.Cluster.Consensus.Raft.Http.RaftClusterMember.SendAsync[TResponse,TMessage](TMessage message, CancellationToken token) in /_/src/cluster/DotNext.AspNetCore.Cluster/Net/Cluster/Consensus/Raft/Http/RaftClusterMember.cs:line 89
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 0
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 0
info: Raft3DockerClusterExample.ValueController[0]
FullInfo
Raft3DockerClusterExample.ValueController: Information: FullInfo
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74003]
Transition to Candidate state has completed with term 1
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has completed with term 1
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74003]
Transition to Candidate state has completed with term 1
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has completed with term 1
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 1
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 1
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74004]
Transition to Leader state has started with term 1
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Leader state has started with term 1
info: Raft3DockerClusterExample.ClusterConfigurator[0]
New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7098/.
Raft3DockerClusterExample.ClusterConfigurator: Information: New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7098/.
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 1. Election timeout 00:00:00.2350000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 1. Election timeout 00:00:00.2350000
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74005]
Transition to Leader state has completed with term 1
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Leader state has completed with term 1
info: Raft3DockerClusterExample.ClusterConfigurator[0]
New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7098/.
Raft3DockerClusterExample.ClusterConfigurator: Information: New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7098/.
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 1. Election timeout 00:00:00.1880000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 1. Election timeout 00:00:00.1880000
info: Raft3DockerClusterExample.ClusterConfigurator[0]
New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7098/.
Raft3DockerClusterExample.ClusterConfigurator: Information: New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7098/.
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 1. Election timeout 00:00:00.1530000
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015]
Replication of https://raft3dockerclusterexample_7096/ is failed. Retry replication from entry 1
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Replication of https://raft3dockerclusterexample_7096/ is failed. Retry replication from entry 1
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 1. Election timeout 00:00:00.1530000
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015]
Replication of https://raft3dockerclusterexample_7097/ is failed. Retry replication from entry 1
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Replication of https://raft3dockerclusterexample_7097/ is failed. Retry replication from entry 1
info: Raft3DockerClusterExample.TryMeHandler[0]
Got hest
Raft3DockerClusterExample.TryMeHandler: Information: Got hest
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 1
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 1
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Consensus cannot be reached
Raft3DockerClusterExample.ClusterConfigurator: Information: Consensus cannot be reached
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 1. Election timeout 00:00:00.1530000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 1. Election timeout 00:00:00.1530000
info: Raft3DockerClusterExample.ClusterConfigurator[0]
New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7098/.
Raft3DockerClusterExample.ClusterConfigurator: Information: New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7098/.
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 1. Election timeout 00:00:00.1530000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 1. Election timeout 00:00:00.1530000

ColdStart parameter is used to solve chicken or the egg problem. Let's assume that we starting a new cluster in an empty environment. In this point in time, we have no nodes at all. The first node (and the only at that point in time) launched in that environment must become a leader. Because only the leader can accept and commit modifications in membership list. This why you need ColdStart=true for that node. Otherwise, all nodes will be started in Follower state, and no one is able to accept necessary modifications.
AddMemberAsync can be called on the leader node only, because the leader is responsible for distribution and consensus of membership list.
From other side, you can ignore ColdStart configuration property at all if you can pre-populate membership list at startup time consistently across all launching nodes.

According to https://github.com/davhdavh/Raft3DockerClusterExample/blob/master/Program.cs#L24, I see that you using an approach with the pre-populated configuration.
Okay, could you please share JSON configuration for each of three nodes. It is better to have report code without installing Docker and other complex environmental components. #108 was fixed and the repo has a regression test for it.

https://github.com/davhdavh/Raft3DockerClusterExample/blob/master/appsettings.json
For the info of all members and
https://github.com/davhdavh/Raft3DockerClusterExample/blob/master/docker-compose.override.yml
for the individual nodes to know who they are.
On Fri, Feb 10, 2023, 23:32 SRV @.***> wrote:

According to
https://github.com/davhdavh/Raft3DockerClusterExample/blob/master/Program.cs#L24,
I see that you using an approach with the pre-populated configuration.
Okay, could you please share JSON configuration for each of three nodes.
It is better to have report code without installing Docker and other
complex environmental components. #108
https://github.com/dotnet/dotNext/issues/108 was fixed and the repo has
a regression test for it.
—
Reply to this email directly, view it on GitHub
https://github.com/dotnet/dotNext/issues/149#issuecomment-1426054786,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJFIDK77OLOJZVL22S4NWLWWZURLANCNFSM6AAAAAAUXLWDGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Did you try to reproduce the same without Docket? Ideally, in the same process.

I can only repro the problem when VS debugger is attaching to process (IE, when start from inside VS), which probably means it is a problem with latency and/or stalls. If just starting docker with 'docker compose up' it will gladly start just fine every single time (out of the 50+ times I tried)

See my answer here. To check that assumption, you can measure response time from the node. You can register HttpMetricsCollector in DI as singleton and assign ResponseTimeCounter counter. This counter will be available through dotnet-counters tool from SDK. You can use examples/RaftNode within the repository as a a sample of perf counters registration.  But it seems just adding this logging is enough to eliminate the problem.
However, I can relatively consistently recreate the problem if I pause execution and start it again. One machine will resume fast, figure out there is a problem, start a reelection which will complete very fast, only for the others to somehow detect that there is no consensus again even though it has been just milliseconds since last reelection.

info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 3
info: Metrics[0]
ResponseTime 13.47ms
Metrics: Information: ResponseTime 13.47ms
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 3
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 3
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Consensus cannot be reached
Raft3DockerClusterExample.ClusterConfigurator: Information: Consensus cannot be reached
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 3. Election timeout 00:00:00.2880000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 3. Election timeout 00:00:00.2880000
info: Metrics[0]
ResponseTime 11.84ms
Metrics: Information: ResponseTime 11.84ms
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74003]
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 3
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Consensus cannot be reached
Raft3DockerClusterExample.ClusterConfigurator: Information: Consensus cannot be reached
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 3. Election timeout 00:00:00.1570000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 3. Election timeout 00:00:00.1570000
Transition to Candidate state has completed with term 4
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has completed with term 4
info: Metrics[0]
ResponseTime 2.52ms
Metrics: Information: ResponseTime 2.52ms
info: Metrics[0]
ResponseTime 3.44ms
Metrics: Information: ResponseTime 3.44ms
info: Raft3DockerClusterExample.ClusterConfigurator[0]
New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
Raft3DockerClusterExample.ClusterConfigurator: Information: New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 3. Election timeout 00:00:00.1570000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 3. Election timeout 00:00:00.1570000
info: Metrics[0]
ResponseTime 1.76ms
Metrics: Information: ResponseTime 1.76ms
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015]
Replication of https://raft3dockerclusterexample_7096/ is failed. Retry replication from entry 2
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Replication of https://raft3dockerclusterexample_7096/ is failed. Retry replication from entry 2
info: Metrics[0]
ResponseTime 5.41ms
Metrics: Information: ResponseTime 5.41ms
info: Metrics[0]
ResponseTime 1.38ms
Metrics: Information: ResponseTime 1.38ms
info: Metrics[0]
ResponseTime 1.23ms
Metrics: Information: ResponseTime 1.23ms
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 4
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 4
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74003]
Transition to Candidate state has completed with term 5
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has completed with term 5
info: Metrics[0]
ResponseTime 2.43ms
Metrics: Information: ResponseTime 2.43ms
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Consensus cannot be reached
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Consensus cannot be reached
Raft3DockerClusterExample.ClusterConfigurator: Information: Consensus cannot be reached
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 4. Election timeout 00:00:00.2290000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 4. Election timeout 00:00:00.2290000
Raft3DockerClusterExample.ClusterConfigurator: Information: Consensus cannot be reached
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 3. Election timeout 00:00:00.1570000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 3. Election timeout 00:00:00.1570000
info: Metrics[0]
ResponseTime 5.60ms
Metrics: Information: ResponseTime 5.60ms
info: Metrics[0]
ResponseTime 8.00ms
Metrics: Information: ResponseTime 8.00ms
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74004]
Transition to Leader state has started with term 5
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Leader state has started with term 5
info: Raft3DockerClusterExample.ClusterConfigurator[0]
New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7096/.
Raft3DockerClusterExample.ClusterConfigurator: Information: New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7096/.
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 5. Election timeout 00:00:00.2660000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 5. Election timeout 00:00:00.2660000
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74005]
Transition to Leader state has completed with term 5
info: Metrics[0]
ResponseTime 11.92ms
Metrics: Information: ResponseTime 11.92ms
info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002]
Transition to Candidate state has started with term 5
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Leader state has completed with term 5
info: Raft3DockerClusterExample.ClusterConfigurator[0]
New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7096/.
Raft3DockerClusterExample.ClusterConfigurator: Information: New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7096/.
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 5. Election timeout 00:00:00.2290000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 5. Election timeout 00:00:00.2290000
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Information: Transition to Candidate state has started with term 5
info: Raft3DockerClusterExample.ClusterConfigurator[0]
New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7096/.
Raft3DockerClusterExample.ClusterConfigurator: Information: New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7096/.
info: Raft3DockerClusterExample.ClusterConfigurator[0]
Term of local cluster member is 5. Election timeout 00:00:00.1570000
Raft3DockerClusterExample.ClusterConfigurator: Information: Term of local cluster member is 5. Election timeout 00:00:00.1570000
info: Metrics[0]
ResponseTime 3.82ms
Metrics: Information: ResponseTime 3.82ms
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015]
Replication of https://raft3dockerclusterexample_7097/ is failed. Retry replication from entry 3
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Replication of https://raft3dockerclusterexample_7097/ is failed. Retry replication from entry 3
info: Metrics[0]
ResponseTime 6.58ms
Metrics: Information: ResponseTime 6.58ms
warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015]
Replication of https://raft3dockerclusterexample_7098/ is failed. Retry replication from entry 3
DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster: Warning: Replication of https://raft3dockerclusterexample_7098/ is failed. Retry replication from entry 3

Double checked... Adding Metrics is enough to eliminate the problem.
Without services.AddSingleton<MetricsCollector, Metrics>();  I get problems about 20% of the time.
With, I havent been able to reproduce the problem even once.

12:11:03.412 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 3
12:11:03.412 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:03.412 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 3. Election timeout 00:00:00.2250000
12:11:03.413 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74003] Transition to Candidate state has completed with term 4
12:11:03.412 7097:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 3
12:11:03.412 7097:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:03.412 7097:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 3. Election timeout 00:00:00.1530000
12:11:03.414 7097:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74003] Transition to Candidate state has completed with term 4
12:11:03.518 7098:warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015] Replication of https://raft3dockerclusterexample_7097/ is failed. Retry replication from entry 2
12:11:03.518 7098:warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015] Replication of https://raft3dockerclusterexample_7096/ is failed. Retry replication from entry 2
12:11:03.587 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 4
12:11:03.713 7097:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 4
12:11:03.713 7097:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74003] Transition to Candidate state has completed with term 5
12:11:03.713 7098:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:03.713 7098:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 4. Election timeout 00:00:00.2150000
12:11:03.714 7097:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74004] Transition to Leader state has started with term 5
12:11:03.714 7097:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:03.714 7097:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.2920000
12:11:03.714 7097:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74005] Transition to Leader state has completed with term 5
12:11:03.715 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:03.716 7097:warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015] Replication of https://raft3dockerclusterexample_7098/ is failed. Retry replication from entry 3
12:11:03.715 7098:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:03.715 7098:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.2150000
12:11:03.715 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:03.716 7097:warn: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74015] Replication of https://raft3dockerclusterexample_7096/ is failed. Retry replication from entry 3
12:11:06.112 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 5
12:11:06.112 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:06.112 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:06.113 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:06.113 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:13.081 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 5
12:11:13.081 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:13.081 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:13.237 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:13.237 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:16.669 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 5
12:11:16.669 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:16.669 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:16.826 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:16.826 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:17.301 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 5
12:11:17.301 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:17.301 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:17.450 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:17.450 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:24.049 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 5
12:11:24.049 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:24.049 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:24.205 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:24.205 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:27.090 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 5
12:11:27.090 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:11:27.090 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:11:27.245 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:11:27.245 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
...

12:13:44.561 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 5
12:13:44.561 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:13:44.561 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:13:44.562 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:13:44.562 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:13:47.084 7096:info: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74002] Transition to Candidate state has started with term 5
12:13:47.084 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Consensus cannot be reached
12:13:47.084 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000
12:13:47.241 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] New cluster leader is elected. Leader address is https://raft3dockerclusterexample_7097/.
12:13:47.241 7096:info: Raft3DockerClusterExample.ClusterConfigurator[0] Term of local cluster member is 5. Election timeout 00:00:00.1690000

VS debugger may freeze the threads, causing sockets to terminate with a timeout. If a frequency of the error is changed because of extra code (reporting of metrics, as mentioned by you) then it's just an evidence of floating error. It's better to have stable repro scenario without side effects such as VS debugger. Otherwise, it's very hard to determine a root cause. Try to enable Debug severity for logs and obtain separate logs for each container. It will be very helpful.

Is it supposed to do this much work when it is in a steady state?
Trying to replicate something (and failing?) every 100msec seems extreme.

03:07:12.334 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.338 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.338 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.339 7097:dbug: Metrics[0] ResponseTime 4.30ms
03:07:12.339 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7098/ is replicated successfully starting from index 7
03:07:12.339 7097:dbug: Metrics[0] ResponseTime 2.80ms
03:07:12.339 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7096/ is replicated successfully starting from index 7
03:07:12.340 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74016] Unable to commit local changes. Quorum is 3, last committed entry is 6
03:07:12.338 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.338 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.444 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7098/ started at log index 7
03:07:12.444 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7098/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.444 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7098/
03:07:12.444 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7096/ started at log index 7
03:07:12.444 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7096/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.444 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7096/
03:07:12.445 7097:dbug: Metrics[0] ResponseTime 1.34ms
03:07:12.445 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7098/ is replicated successfully starting from index 7
03:07:12.445 7097:dbug: Metrics[0] ResponseTime 1.36ms
03:07:12.445 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7096/ is replicated successfully starting from index 7
03:07:12.445 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74016] Unable to commit local changes. Quorum is 3, last committed entry is 6
03:07:12.441 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.441 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.441 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.441 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.445 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.445 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.445 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.445 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.553 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7098/ started at log index 7
03:07:12.553 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7096/ started at log index 7
03:07:12.553 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7096/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.553 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7096/
03:07:12.553 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7098/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.553 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7098/
03:07:12.555 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.551 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.551 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.551 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.551 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.555 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.555 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.555 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.555 7097:dbug: Metrics[0] ResponseTime 2.00ms
03:07:12.555 7097:dbug: Metrics[0] ResponseTime 2.38ms
03:07:12.556 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7096/ is replicated successfully starting from index 7
03:07:12.556 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7098/ is replicated successfully starting from index 7
03:07:12.556 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74016] Unable to commit local changes. Quorum is 3, last committed entry is 6
03:07:12.662 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7098/ started at log index 7
03:07:12.662 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7096/ started at log index 7
03:07:12.662 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7096/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.662 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7096/
03:07:12.663 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7098/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.663 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7098/
03:07:12.660 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.660 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.660 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.660 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.663 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.663 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.663 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.663 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.664 7097:dbug: Metrics[0] ResponseTime 1.24ms
03:07:12.664 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7096/ is replicated successfully starting from index 7
03:07:12.664 7097:dbug: Metrics[0] ResponseTime 1.28ms
03:07:12.664 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7098/ is replicated successfully starting from index 7
03:07:12.664 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74016] Unable to commit local changes. Quorum is 3, last committed entry is 6
03:07:12.772 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7098/ started at log index 7
03:07:12.772 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7096/ started at log index 7
03:07:12.772 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7096/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.772 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7096/
03:07:12.772 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7098/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.772 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7098/
03:07:12.773 7097:dbug: Metrics[0] ResponseTime 1.13ms
03:07:12.773 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7098/ is replicated successfully starting from index 7
03:07:12.774 7097:dbug: Metrics[0] ResponseTime 1.56ms
03:07:12.774 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7096/ is replicated successfully starting from index 7
03:07:12.774 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74016] Unable to commit local changes. Quorum is 3, last committed entry is 6
03:07:12.769 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.769 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.770 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.770 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.773 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.773 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.773 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.773 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.881 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7098/ started at log index 7
03:07:12.881 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7096/ started at log index 7
03:07:12.881 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7096/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.881 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7096/
03:07:12.881 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7098/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.881 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7098/
03:07:12.882 7097:dbug: Metrics[0] ResponseTime 1.21ms
03:07:12.882 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7096/ is replicated successfully starting from index 7
03:07:12.882 7097:dbug: Metrics[0] ResponseTime 1.04ms
03:07:12.882 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7098/ is replicated successfully starting from index 7
03:07:12.883 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74016] Unable to commit local changes. Quorum is 3, last committed entry is 6
03:07:12.878 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.879 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.879 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.879 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.882 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.882 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.882 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.882 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.991 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7098/ started at log index 7
03:07:12.991 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7098/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.991 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7098/
03:07:12.991 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74012] Replication of member https://raft3dockerclusterexample_7096/ started at log index 7
03:07:12.992 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74013] Replication of https://raft3dockerclusterexample_7096/ contains 0 entries. Preceding entry has index 6 and term 9. Local fingerprint is<PHONE_NUMBER>148766304, remote is<PHONE_NUMBER>148766304, apply True
03:07:12.992 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[75000] Sending request of type AppendEntries to member https://raft3dockerclusterexample_7096/
03:07:12.993 7097:dbug: Metrics[0] ResponseTime 1.15ms
03:07:12.993 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7096/ is replicated successfully starting from index 7
03:07:12.993 7097:dbug: Metrics[0] ResponseTime 1.64ms
03:07:12.993 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74014] Member https://raft3dockerclusterexample_7098/ is replicated successfully starting from index 7
03:07:12.993 7097:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74016] Unable to commit local changes. Quorum is 3, last committed entry is 6
03:07:12.989 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.989 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.989 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.989 7098:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True
03:07:12.992 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74000] Member is downgrading to follower state with term 9
03:07:12.992 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74011] Election timeout is refreshed
03:07:12.992 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74001] Member is downgraded to follower state with term 9
03:07:12.993 7096:dbug: DotNext.Net.Cluster.Consensus.Raft.Http.RaftHttpCluster[74038] Incoming configuration with<PHONE_NUMBER>148766304 fingerprint from leader. Local fingerprint is<PHONE_NUMBER>148766304, apply True

The last log doesn't have any exceptions. Frequent (every 100ms) heartbeats are fine even if there is nothing to commit. Heartbeats prevent other nodes to detect faulty leader and transit to Candidate state. This behavior is fully compliant with Raft paper.

One thing that can improve your debugging experience: use standby mode. Attached VS debugger is probably a root cause of the problems mentioned above. Standby mode gives you determinism of cluster behavior under debugging. Do the following: start nodes B and C in this mode. The mode prevents tracking of election timeout and transitions between Raft states. Then start node A in regular mode. Node A will be turned into leader state eventually. This happens because B and C cannot transit to Candidate state. But they can respond to any Raft-specific RPC messages from node A. Now you have a stable cluster for debugging purposes (leader is deterministic and cannot be changed).


Refactor NodestuffPlugin / JsonpMainTemplatePlugin / ModuleFilenameHelpers

linting

What kind of change does this PR introduce?
refactor, ES5 => ES6

Did you add tests for your changes?
All existing tests pass

If relevant, link to documentation update:
N/A

Summary

Does this PR introduce a breaking change?
No

Other information
NIL

@Kovensky addressed the issues. 👍

@sokra removed the double quotes.

rebased

Thanks

Thanks @sokra :smile:


Pingplugin and Proxifier not working

Hi, I noticed Pingplugin shows 0ms and showing <IP_ADDRESS> while using proxifier, it was working before EW patch.

While turning off proxifier pingplugin works fine. I alreay reinstalled the plugin multiple times . not sure what to do for it to work :(
Thank you.

There is one hook that PingPlugin uses specifically to get around this, I'll fix it when I have a moment to deal with the queues.

Should be fixed with v1.14.2, let me know if it works.

tried it a while ago, it still show <IP_ADDRESS>, tried deleting it manually from the plugin config to regenerate config but still the same. ;_;

v1.14.3 released, how about this? It worked for me when I tested it by disabling the normal ping trackers.

it is working now :) thank you <3


update npm install of babel modules

updated as per fixes described in issues #3 and #7

Please merge it

@aakashns could you complete this pr?

@aakashns it would be great to get this merged


Nightly test tutorial

Add test tutorial python script.
Jenkins nightly test will be added after doc release.

Can we run CI tests instead of nightly test?

Yes. But if we add more tutorials, the running time can be long.


add shellcheck run parameters

Is there a way to pass arguments to the shellcheck invocation? I need to pass "-x", to allow "source xyz" directives to be checked.
My workaround is a wrapper script, but that's not optimal...

🎉 thanks!


Preview

Hi,
Files could be greater with files preview. In the conventional explorer I have listed my files in a folder and in the right I have the preview. With this I can read a pdf file without opened it, also see imaged, excel, word files, etc...

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here. Ex: What device type/UI layout and app version?

This behavior is easily achieved by adding "QuickLook", as the official website explicitly communicates.
https://www.microsoft.com/en-us/p/quicklook/9nv4bs3l1h4s?SilentAuth=1

This behavior is easily achieved by adding "QuickLook", as the official website explicitly communicates.
https://www.microsoft.com/en-us/p/quicklook/9nv4bs3l1h4s?SilentAuth=1

Preview pane is coming! -> #2756

Preview pane is coming! -> #2756


Saving cities

Do Not Merge to Master
Created functions for getting, saving, deleting users favorite cities.

Unused PR, cancelling as we've made changes elsewhere


Would it yield better results if we finetune a larger model with more data?

Thank you for your outstanding work.
I have two questions that I would like to ask you for your guidance:
(1) Is the training data for the Real_hat_GAN_SRx4.pth model be generated using "Generate degraded images on the fly"?
（https://github.com/xinntao/Real-ESRGAN/blob/master/docs/Training.md#Generate-degraded-images-on-the-fly）
(2) As far as I understand, the dataset used for training is the same as that of real-esrgan (DIV2K + Flickr2K + OST). If we finetune a larger model (HAT-L_SRx4_ImageNet-pretrain.pth) with more data (as used in the SwinIR-L of the swinir project，https://github.com/JingyunLiang/SwinIR), the performance should be better than that of the Real_hat_GAN_SRx4.pth model, right?
Looking forward to your response.

Yes.
Probably yes.


Errors using LLaMA2 weights

Thanks a lot for the great works!!
I am trying the demo_video.py and demo_audiovideo.py with LLAMA2 weights. I've downloaded llama-2-7b and llama-2-7b-chat, and  I've also cloned the Video-LLaMA-2-7B-Finetuned and Video-LLaMA-2-7B-Pretrained repos on HF.
I've modified eval_configs/video_llama_eval_only_vl.yaml and eval_configs/video_llama_eval_withaudio.yaml as following:
model_type: pretrain_vicuna
low_resource: True
llama_model: "Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/"
 ckpt: "Video-LLaMA-2-7B-Pretrained/VL_LLaMA_2_7B_Pretrained.pth"
 equip_audio_branch: False

Then I run python demo_video.py --cfg-path eval_configs/video_llama_eval_only_vl.yaml --model_type llama_v2 and python demo_audiovideo.py  --cfg-path eval_configs video_llama_eval_withaudio.yaml  --model_type llama_v2. Both return a syntax error such as
File "demo_audiovideo.py", line 228
    [f"examples/dog.jpg", "Which breed is this dog? "],
                       ^
SyntaxError: invalid syntax

Please help me find out what's missing?
In addition, I am also confused by what "set the llama_model, imagebind_ckpt_path, ckpt and ckpt_2" means, should I also download imagebind, miniGPT4, or any other things? (But "NO delta weights and separate Q-former weights anymore"?)
Thanks in advance!!!!!

I did not encounter "SyntaxError: invalid syntax", It could be a problem with your text editor or Python interpreter
These checkpoints are in the folder Video-LLaMA-2-7B-Finetuned/ which you have downloaded from Huggingface Repo,
llama_model ->'Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/',
imagebind_ckpt_path -> Video-LLaMA-2-7B-Finetuned/imagebind_huge.pth
ckpt -> Video-LLaMA-2-7B-Finetuned/VL_LLaMA_2_7B_Finetuned.pth
ckpt_2 -> Video-LLaMA-2-7B-Finetuned/AL_LLaMA_2_7B_Finetuned.pth

Thank you for your advice, I successfully fix this error and set up as you suggest.
However, I encounter another error with regard this line lama_model ->'Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/',:
HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'Video-LLaMA-2-7B-Finetuned/llama-2-7b-chat-hf/'. Use `repo_type`
argument if needed.

I tried DAMO-NLP-SG/Video-LLaMA-2-7B-Finetuned, Video-LLaMA-2-7B-Finetuned, and full directory to the   Video-LLaMA-2-7B-Finetuned file, but none of them work. Please help me figure out, thank you so much!!!