I see there is an issue. Let me think and get back.

-kalyan

> On May 8, 2017, at 7:11 PM, Kalyan Kumar Kalvagadda <[email protected]> 
> wrote:
> 
> 
> Even if HMSFollower is running in both the nodes, we can have simple logic in 
> HMSFollower to avoid processing duplicate notifications.
> Before processing the notification, if a check is added to see if the new 
> notification id is greater than the one stored in database. If not, we ignore 
> the notification.
> 
> -Kalyan
> 
>> On Mon, May 8, 2017 at 7:03 PM, Alexander Kolbasov <[email protected]> 
>> wrote:
>> The major problem with read-modify-write approach is that it is difficult to 
>> handle the case with two writers trying to update the value at the same 
>> time. If you handle this by adding new rows and having the ID as the primary 
>> key, one writer will succeed and another will fail because the key already 
>> exists. How would you achieve this in your approach?
>> 
>> - Alex
>> 
>> > On Apr 27, 2017, at 9:14 PM, Kalyan Kumar Kalvagadda 
>> > <[email protected]> wrote:
>> >
>> > Hello all,
>> >
>> > As part of SENTRY-1726, I'm adding new table to store notification-id. HMS
>> > follower just needs the the latest notification-id that sentry has
>> > processed.
>> > All HMS follower needs is the latest notification. As we need not store
>> > older notification-id's, I defined the table to hold only one record so
>> > that we can avoid inserting more records in the table and the application
>> > should just update the existing record.
>> >
>> >
>> > CREATE TABLE `SENTRY_LAST_NOTIFICATION_ID`
>> > (
>> >    `NOTIFICATION_ID` BIGINT NOT NULL,
>> >    `RESTRICTION` VARCHAR(15) NOT NULL DEFAULT 'singleton',
>> >    CONSTRAINT `SENTRY_NOTIFICATION_PK` PRIMARY KEY (`RESTRICTION`)
>> > )ENGINE=INNODB;
>> >
>> >
>> > Application just needs to insert/update the NOTIFICATION_ID. Once we
>> > insert for the fist time, it is update only.
>> >
>> > On the other hand, If we have NOTIFICATION_ID as primary key and keep
>> > on inserting NOTIFICATION_ID's into
>> >
>> > the table. we have to use MAX(NOTIFICATION_ID) every time we need the
>> > notification id. Additionally, we need to build logic to cleanup older
>> > entries.
>> >
>> >
>> > You can refer to review board for complete change set.
>> >
>> > https://reviews.apache.org/r/58808/
>> >
>> >
>> > -Kalyan
>> 
> 

Reply via email to