google-nomulus/java/google/registry/model
guyben aee4f7acc2 Remove queueing from Lock
It was buggy (didn't work) and was never actually used.

Why never actually used: for it to be used executeWithLock has to be called
with different requesters on the same lockId. That never happend in the code.

How it was buggy: Logically, the queue is deleted on release of the lock (meaning it was
meaningless the only time it mattered - when the lock isn't taken). In
addition, a different bug meant that having items in the queue prevented the
lock from being released forcing all other tasks to have to wait for lock
timeout even if the task that acquired the lock is long done.

Alternative: fix the queue. This would mean we don't want to delete the lock on release (since we want to keep the queue). Instead, we resave the same lock with expiration date being START_OF_TIME. In addition - we need to fix the .equals used to determine if the lock the same as the acquired lock - instead use some isSame function that ignores the queue.

Note: the queue is dangerous! An item (calling class / action) in the first place of a queue means no other calling class can get that lock. Everything is waiting for the first calling class to be re-run - but that might take a long time (depending on that action's rerun policy) and even might never happen (if for some reason that action decided it was no longer needed without acquiring the lock) - causing all other actions to stall forever!

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163705463
2017-08-01 17:06:20 -04:00
..
annotations Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
billing Mark registrar credit model classes as incomplete 2017-03-27 13:15:06 -04:00
common Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
contact Remove all vestiges of memcache 2017-06-14 10:28:24 -04:00
domain Remove temporary @OnLoad used for setting period in DomainApplication 2017-06-21 09:51:28 -04:00
eppcommon Refactor out creation of server TRIDs so they can be tested 2017-04-13 10:55:47 -04:00
eppinput Add and adjust EppInput accessors for more useful properties 2017-04-26 10:51:47 -04:00
eppoutput Notify registrars of async contact/host deletions 2017-04-26 10:33:55 -04:00
export Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
host Remove all vestiges of memcache 2017-06-14 10:28:24 -04:00
index Remove all vestiges of memcache 2017-06-14 10:28:24 -04:00
mark Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
ofy Remove all vestiges of memcache 2017-06-14 10:28:24 -04:00
poll Notify registrars of async contact/host deletions 2017-04-26 10:33:55 -04:00
pricing Return all applicable reserved list entries associated with a label 2017-03-13 11:22:56 -04:00
rde Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
registrar Make Registrar load methods return Optionals instead of Nullables 2017-08-01 16:58:59 -04:00
registry Fix bad formatting/line breaks in Registry entity 2017-08-01 16:54:52 -04:00
reporting Make FlowRunner log ICANN activity report field name 2017-03-27 13:32:57 -04:00
server Remove queueing from Lock 2017-08-01 17:06:20 -04:00
smd Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
tmch Remove all vestiges of memcache 2017-06-14 10:28:24 -04:00
transfer Remove obsolete TransferData.extendedRegistrationYears 2017-03-21 15:35:00 -04:00
translators Capitalize the Bloom in Bloom filter in comments 2017-03-21 15:30:30 -04:00
BackupGroupRoot.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
BUILD Define Stackdriver metrics for premium and reserved lists 2017-03-21 14:55:00 -04:00
Buildable.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
CacheUtils.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
CreateAutoTimestamp.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
EntityClasses.java Add Cloud KMS based secret storage 2017-02-17 12:22:12 -05:00
EppResource.java Remove migration @OnLoad for EppResource StatusValue LINKED 2017-05-23 17:22:49 -04:00
EppResourceUtils.java Remove all vestiges of memcache 2017-06-14 10:28:24 -04:00
ImmutableObject.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
Jsonifiable.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
JsonMapBuilder.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
ModelUtils.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
package-info.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
SchemaVersion.java Replace deprecated "assignableFrom" with Guava 20 "subtypeOf" 2017-02-02 16:51:43 -05:00
UpdateAutoTimestamp.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00