On Tue, 15 Sep 2020 17:58:00 +0200, Igor <
chori...@gmail.com> wrote:
>Hi Steve,
>
>could you also please check if the file ("n:\test.pfr" in your example)
>actually exists after the server reboot but before calling
>"PowerFailRepro.exe readonlycheck n:\test.pfr 1000000"?
>I'm not sure why the file would not be there but I believe, "No
>transactions completed or canceled!" can be printed also in case, the file
>does not exist.
I've run the test under Windows.
The test file is there, and the value of the counter is *not* 0.
So the problem isn't that simple.
Which isn't surprising because if it were that simple, I would have expected it to show up in other people's results before this.
What's the next step?
>Igor
>
>On Tue, Sep 15, 2020 at 5:30 PM
ppbb...@gmail.com <
ppbb...@gmail.com>
>wrote:
>
>> I briefly looked at your code and concluded that the problem boils down to
>> the `TotalTransactionProcessingCount` counter value being zeroed out after
>> a power failure. And, if the reading of my code is correct, this counter is
>> never decremented. This makes me think that the same problem could be
>> reproduced by effectively boiling down this code to:
>>
>> struct pmem {
>> uint64_t counter;
>> };
>>
>> struct pmem *pmem = mmap(...);
>> printf("%llu\n", pmem->counter);
>> while (true) {
>> uint64_t counter = pmem->counter + 1;
>> pmem_memmove_nodrain(&pmem->counter, &counter, sizeof(counter));
>> pmem_drain();
>> }
>>
>> We could then see if, after a power failure, the counter value is 0 or
>> some other value.
>>
>> wtorek, 15 wrze?nia 2020 o 17:05:11 UTC+2
st...@steveheller.org
>> napisa?(a):
>> <
https://groups.google.com/d/msgid/pmem/148b1e6b-d3fc-4be2-97ae-47e26d452df1n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
------------
Steve Heller