Results 1 to 10 of 66

Hybrid View

  1. #1
    Player Ivtrix's Avatar
    Join Date
    Feb 2020
    Posts
    959
    Character
    Ivtrix Impreria
    World
    Goblin
    Main Class
    Red Mage Lv 90
    If your housing lotto did not end with a 0 winner, then just like me you lost fair and square, there will be nothing done for those unless you had a 0 or a “no participants”

    Better luck next time
    (23)

  2. #2
    Player
    Grems's Avatar
    Join Date
    Mar 2022
    Posts
    1
    Character
    S'rhin Tia
    World
    Malboro
    Main Class
    Arcanist Lv 70
    Quote Originally Posted by Ivtrix View Post
    If your housing lotto did not end with a 0 winner, then just like me you lost fair and square, there will be nothing done for those unless you had a 0 or a “no participants”

    Better luck next time
    This isn’t true. Every single auction was wrong. Even if you personally wouldn’t have won, it was done wrong. Every “0” was not counted in every auction. So each auction had someone who would automatically never have stood a chance at winning. Also, that means the winning number was off by 1 person, so it should have been the next highest number if it actually added “0” person in, and if you moved “0” person to an actual spot they should have had, of “1”, then the winner should have been the person who had the number below the winning number as advertised. The whole entire auction was wrong for every single house. The ONLY way to fix that is to wipe the slate clean, reset everyone to where they were with housing right before the auctions began, and redo the first auction.
    (0)

  3. #3
    Player
    Kaurhz's Avatar
    Join Date
    Jul 2015
    Posts
    3,615
    Character
    Asuka Kirai
    World
    Sagittarius
    Main Class
    Dancer Lv 90
    Quote Originally Posted by Grems View Post
    This isn’t true. Every single auction was wrong. Even if you personally wouldn’t have won, it was done wrong. Every “0” was not counted in every auction. So each auction had someone who would automatically never have stood a chance at winning. Also, that means the winning number was off by 1 person, so it should have been the next highest number if it actually added “0” person in, and if you moved “0” person to an actual spot they should have had, of “1”, then the winner should have been the person who had the number below the winning number as advertised. The whole entire auction was wrong for every single house. The ONLY way to fix that is to wipe the slate clean, reset everyone to where they were with housing right before the auctions began, and redo the first auction.
    No the auction was not wrong. 0 was not factored into the actual lottery itself, the lottery was done correctly, these results just couldn’t be fed to the housing server in many cases. Hence the return of 0 being the winner. Haven’t they made enough lodestone posts clarifying this already?
    (11)

  4. #4
    Player
    TaleraRistain's Avatar
    Join Date
    Jun 2015
    Posts
    5,584
    Character
    Thalia Beckford
    World
    Jenova
    Main Class
    Gunbreaker Lv 100
    Quote Originally Posted by Grems View Post
    This isn’t true. Every single auction was wrong. Even if you personally wouldn’t have won, it was done wrong. Every “0” was not counted in every auction. So each auction had someone who would automatically never have stood a chance at winning. Also, that means the winning number was off by 1 person, so it should have been the next highest number if it actually added “0” person in, and if you moved “0” person to an actual spot they should have had, of “1”, then the winner should have been the person who had the number below the winning number as advertised. The whole entire auction was wrong for every single house. The ONLY way to fix that is to wipe the slate clean, reset everyone to where they were with housing right before the auctions began, and redo the first auction.
    That's not what happened at all

    Say you have a server here doing the lottery and these are the results

    A - entry 3 wins
    B - entry 2 wins
    C - entry 1 wins

    And then on a separate server is the housing data and when it works right, it should look like this

    A - entry 3 wins ------------------------------------ A - my new proposed owner is entry 3
    B - entry 2 wins ------------------------------------ B - my new proposed owner is entry 2
    C - entry 1 wins ------------------------------------ C - my new proposed owner is entry 1

    What happened here is this

    A - entry 3 wins - - - - - - - - - - - - - - - - - - - - - A - error
    B - entry 2 wins - - - - - - - - - - - - - - - - - - - - - B - error
    C - entry 1 wins - - - - - - - - - - - - - - - - - - - - - C - error

    They could have coded it so "error" was just a null but nulls in coding can be seriously bad juju, so instead they coded the error case to return 0 as a default value and assign no winner. But the winners are still recorded on the lottery server and so they can retrieve that data and award the winners their prize appropriately. And they can fix the issue that caused the servers not to communicate so the issue doesn't occur again on future lotteries.
    (8)
    Last edited by TaleraRistain; 04-21-2022 at 02:06 PM.

  5. #5
    Player
    Packetdancer's Avatar
    Join Date
    Oct 2019
    Location
    Gridania
    Posts
    1,948
    Character
    Khit Amariyo
    World
    Leviathan
    Main Class
    Sage Lv 100
    Quote Originally Posted by TaleraRistain View Post
    They could have coded it so "error" was just a null but nulls in coding can be seriously bad juju, so instead they coded the error case to return 0 as a default value and assign no winner. But the winners are still recorded on the lottery server and so they can retrieve that data and award the winners their prize appropriately. And they can fix the issue that caused the servers not to communicate so the issue doesn't occur again on future lotteries.
    The analogy I've used in a few threads so far is that the lottery server has the list of winners, but when it called to to tell the placards who won, sometimes it got a busy signal... and just never left a message or called back. So for the placards it got through to, yay, the results are correct! For the placards it didn't get through to, it still has correct results stored on the lottery server, but it never got around to telling those placards.

    What they need to do, in essence, is change things so that the lottery server can be told to basically retry any phone-calls that it didn't get through on, so as to actually tell the remaining placards who their winner is.
    (9)
    Quote Originally Posted by Packetdancer
    The healer main's struggle for pants is both real, and unending. Be strong, sister. #GiveUsMorePants2k20 #HealersNotRevealers #RandomOtherSleepDeprivedHashtagsHere
    I aim to make my posts engaging and entertaining, even when you might not agree with me. And failing that, I'll just be very, VERY wordy.

  6. #6
    Player
    TaleraRistain's Avatar
    Join Date
    Jun 2015
    Posts
    5,584
    Character
    Thalia Beckford
    World
    Jenova
    Main Class
    Gunbreaker Lv 100
    Quote Originally Posted by Packetdancer View Post
    The analogy I've used in a few threads so far is that the lottery server has the list of winners, but when it called to to tell the placards who won, sometimes it got a busy signal... and just never left a message or called back. So for the placards it got through to, yay, the results are correct! For the placards it didn't get through to, it still has correct results stored on the lottery server, but it never got around to telling those placards.

    What they need to do, in essence, is change things so that the lottery server can be told to basically retry any phone-calls that it didn't get through on, so as to actually tell the remaining placards who their winner is.
    Hahah I like the busy signal analogy

    You want to be careful with retries, though, because you don't want it to just keep trying into infinity. One of our teams is dealing with exactly that right now because something tried 300 times before someone went "Waaaaaaaaaaaaaait a second"

    So probably a limited number of times to retry and then it would still need to throw an error and alert some process that something wasn't working correctly
    (4)

  7. #7
    Player
    Packetdancer's Avatar
    Join Date
    Oct 2019
    Location
    Gridania
    Posts
    1,948
    Character
    Khit Amariyo
    World
    Leviathan
    Main Class
    Sage Lv 100
    Quote Originally Posted by TaleraRistain View Post
    You want to be careful with retries, though, because you don't want it to just keep trying into infinity.
    Oh, do I have Bluetooth-related horror stories about things with... uh... interesting retry behavior.

    You're not wrong, though; a simple "okay try sending it again" could create more problems, you'd want to do something like "try again in 5 minutes, if that fails, try again in 15, if that fails, try again in an hour" so that if there's an error state lasting a while -- remote database offline, network switch has died, datacenter has been pulled into an extradimensional vortex, wolves have eaten the network cables, or (least likely of all) you're using SQL Server willingly -- you aren't just pelting it endlessly, but don't entirely give up. Basically, the same sort of re-queue-and-retry logic that (most) e-mail servers use when they can't connect to a remote host. But yeah, there's a point at which you definitely want it to stop retrying, put the results in a "pending" queue to be dealt with manually and start waving a flag going "HELP! HUMAN! I'M NOT SURE WHAT TO DO WITH THESE!"
    (5)
    Quote Originally Posted by Packetdancer
    The healer main's struggle for pants is both real, and unending. Be strong, sister. #GiveUsMorePants2k20 #HealersNotRevealers #RandomOtherSleepDeprivedHashtagsHere
    I aim to make my posts engaging and entertaining, even when you might not agree with me. And failing that, I'll just be very, VERY wordy.

  8. #8
    Player

    Join Date
    Dec 2014
    Posts
    1,682
    Quote Originally Posted by Packetdancer View Post
    sometimes it got a busy signal...
    Someone's showing their age...<3
    (0)

  9. #9
    Player
    DragonFlyy's Avatar
    Join Date
    Sep 2013
    Posts
    889
    Character
    Jasla Angelkin
    World
    Balmung
    Main Class
    Arcanist Lv 90
    Quote Originally Posted by TaleraRistain View Post
    That's not what happened at all

    Say you have a server here doing the lottery and these are the results

    A - entry 3 wins
    B - entry 2 wins
    C - entry 1 wins

    And then on a separate server is the housing data and when it works right, it should look like this

    A - entry 3 wins ------------------------------------ A - my new proposed owner is entry 3
    B - entry 2 wins ------------------------------------ B - my new proposed owner is entry 2
    C - entry 1 wins ------------------------------------ C - my new proposed owner is entry 1

    What happened here is this

    A - entry 3 wins - - - - - - - - - - - - - - - - - - - - - A - error
    B - entry 2 wins - - - - - - - - - - - - - - - - - - - - - B - error
    C - entry 1 wins - - - - - - - - - - - - - - - - - - - - - C - error

    They could have coded it so "error" was just a null but nulls in coding can be seriously bad juju, so instead they coded the error case to return 0 as a default value and assign no winner. But the winners are still recorded on the lottery server and so they can retrieve that data and award the winners their prize appropriately. And they can fix the issue that caused the servers not to communicate so the issue doesn't occur again on future lotteries.
    This. So much this. Even possible that the error WAS a null, but an INT in most programming languages can't be null so it either errors out (would've crashed the server) or defaults to 0.
    (2)

  10. #10
    Player
    Packetdancer's Avatar
    Join Date
    Oct 2019
    Location
    Gridania
    Posts
    1,948
    Character
    Khit Amariyo
    World
    Leviathan
    Main Class
    Sage Lv 100
    Quote Originally Posted by DragonFlyy View Post
    This. So much this. Even possible that the error WAS a null, but an INT in most programming languages can't be null so it either errors out (would've crashed the server) or defaults to 0.
    To elaborate a little on this: NULL is, in many systems, literally just an alias for 0. Things don't crash because the value is NULL. Things crash because anything stored in a computer's memory, when represented as a pointer ("this is where the data is stored", as it points to the spot) is represented as a number (where in memory it is), and if you try to access a memory location which happens to be set to NULL... you're basically saying to go get whatever's at memory location 0. But there's no function there at memory location 0 to call, there's no valid data there to read. So if you use NULL as an address for any sort of memory access, things go boom. This is why a pointer being set to NULL is used to mean "this pointer doesn't point to anything, e.g. is not valid/is empty". That's great, but if you forget to check "is this NULL" before using a pointer...

    The program Oops.exe has stopped operating.

    In other words, that's how you get a STATUS_ACCESS_VIOLATION error dialog on Windows, an EXC_BAD_ACCESS on macOS, or a SIGSEGV signal on Linux/UNIX.

    But if you assign NULL to an integer... well, NULL is just another way to say 0, so you just get an integer with a value of 0. Perfectly safe.

    There are exceptions, of course; "nil" in some languages is a special case, such as how things cannot be nil in some languages unless you tack a '?' on the end of the data type to make it nullable. In those languages, there is a difference between an Int with a value of 0 and an Int? with a value of nil; the first one is explicitly "I contain a value, and it is 0" while the second one is "I contain no value".

    But older languages do not make that distinction; "I contain no value" and "I contain a value of 0" are generally the same thing. Hence why a placard containing no value contains (and displays) a value of 0.
    (2)
    Last edited by Packetdancer; 04-22-2022 at 04:19 AM.
    Quote Originally Posted by Packetdancer
    The healer main's struggle for pants is both real, and unending. Be strong, sister. #GiveUsMorePants2k20 #HealersNotRevealers #RandomOtherSleepDeprivedHashtagsHere
    I aim to make my posts engaging and entertaining, even when you might not agree with me. And failing that, I'll just be very, VERY wordy.

Tags for this Thread