[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16184540#comment-16184540 ] ASF GitHub Bot commented on IGNITE-6285: Github user dspavlov closed the pull request at: https://github.com/apache/ignite/pull/2752 > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Affects Versions: 2.1 >Reporter: Yakov Zhdanov >Assignee: Dmitriy Pavlov >Priority: Blocker > Labels: documentation, important, usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16180770#comment-16180770 ] ASF GitHub Bot commented on IGNITE-6285: GitHub user dspavlov opened a pull request: https://github.com/apache/ignite/pull/2752 IGNITE-6285: Enhance persistent store paths logging on start Experimental commits to run TC tests, do not merge You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-6285 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2752.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2752 commit b150519f05c99e71be83af9d5107ae599c90f05f Author: dpavlovDate: 2017-09-26T13:31:54Z IGNITE-6285: Enhance persistent store paths logging on start > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Affects Versions: 2.1 >Reporter: Yakov Zhdanov >Assignee: Dmitriy Pavlov >Priority: Blocker > Labels: usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16172088#comment-16172088 ] Denis Magda commented on IGNITE-6285: - [~agoncharuk], my vote goes for your solution. Do we agree that we're not going to handle the case of "multiple nodes from different clusters on a single box" automatically? To support this case I would request the user to change the storage directories using existing persistent store configuration parameters or introducing a new one. > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Reporter: Yakov Zhdanov >Assignee: Alexey Goncharuk >Priority: Blocker > Labels: usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16171864#comment-16171864 ] Alexey Goncharuk commented on IGNITE-6285: -- We can keep the first assigned consistent ID (the one obtained during the first startup) but in this case, it may be confusing because the actual IP address has changed, but we keep using the old one. > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Reporter: Yakov Zhdanov >Assignee: Alexey Goncharuk >Priority: Blocker > Labels: usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16171810#comment-16171810 ] Alexey Goncharuk commented on IGNITE-6285: -- Yes, It's either a parent directory lock or try-catch-retry (I remember there were some issues with directory locking on Windows) > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Reporter: Yakov Zhdanov >Assignee: Alexey Goncharuk >Priority: Blocker > Labels: usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16171784#comment-16171784 ] Yakov Zhdanov commented on IGNITE-6285: --- [~agoncharuk] seems we need to lock parent directory to create the first subfolder to support simultaneous start. Is that true? > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Reporter: Yakov Zhdanov >Assignee: Alexey Goncharuk >Priority: Blocker > Labels: usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16171729#comment-16171729 ] Alexey Goncharuk commented on IGNITE-6285: -- There are several scenarios when generating random IDs does not work predictably, specifically, when a user starts multiple node instances on the same physical machine. I suggest the following (assuming we maintain the backwards compatibility) 1) A starting node binds to a port and generates old-style consistent ID 2) The node scans the work directory and checks if there is a folder matching the consistent ID. If such a folder exists, we start up with this ID (compatibility mode) 3) If there are no matching folders, but the directory is not empty, scan it for old-style consistent IDs. If there are old-style db folders, print out a warning (or fail to start) 4) If there are existing new style folders, pick up the one with the smallest sequence number and try to lock the directory. Repeat until we succeed or until the list of new-style consistent IDs is empty 5) If there are no more available new-style folders, generate a new one with next sequence number and random UUID as consistent ID. 6) Use this consistent ID for the node startup As Yakov suggested, we can update the lock file on every use and print out this timestamp during the node startup. [~dmagda] [~yzhdanov] [~dsetrakyan] please let me know what you think. > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Reporter: Yakov Zhdanov >Assignee: Alexey Goncharuk >Priority: Blocker > Labels: usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168953#comment-16168953 ] Denis Magda commented on IGNITE-6285: - [~dsetrakyan], [~yzhdanov], [~agoncharuk], Binding to the same IP:port is a brittle scheme that might fail periodically in short term and will definitely fail in the long term resulting in partial partitions loss due to the redistribution. It's even worse for us if it happens in years of the cluster being used in production. Even a MAC address as as constant ID approach is not a problem solver because the hardware can be replaced. What if we try the following scheme. A special component will set an UUID as a consistent ID for a node on startup. All the generated UUID(s) will be persisted in a single file protected by file system lock. This guarantees IDs reuse after restarts and should solve the issue once and forever. > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Reporter: Yakov Zhdanov >Assignee: Alexey Goncharuk >Priority: Blocker > Labels: usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6285) Enhance persistent store paths logging on start
[ https://issues.apache.org/jira/browse/IGNITE-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16168847#comment-16168847 ] Dmitriy Setrakyan commented on IGNITE-6285: --- I have raised the priority of the issue to Blocker, as it is a critical usability problem. In addition to (1) and (2) above, I believe that the right way to solve it would be to store the previous IP:port binding on disk, to make sure that we reuse the same binding upon restart. > Enhance persistent store paths logging on start > --- > > Key: IGNITE-6285 > URL: https://issues.apache.org/jira/browse/IGNITE-6285 > Project: Ignite > Issue Type: Improvement >Reporter: Yakov Zhdanov >Priority: Blocker > Labels: usability > Fix For: 2.3 > > > As per this thread - > http://apache-ignite-users.70518.x6.nabble.com/Specifying-location-of-persistent-storage-location-td16636i20.html > Ignite may switch storage path in case of changing DHCP lease or similar > which can lead to consistent ID change. > In order to help user in spotting the issue Ignite may output the following > to the logs: > # Output the store path and tell its (1) size or state that it is empty and > (2) last data file modification date. > # Output warning if there are other non-empty storage folders under work > directory with their sizes and dates. -- This message was sent by Atlassian JIRA (v6.4.14#64029)