Can you guys please write use cases or requirements of what you are trying to do?
Why is archiving an entity (mainly for audit purposes) not sufficient and why it should be listed in API requests? Also submitting an entity with the same name and treating it as the new version of the entity does not seem right. A new entity can be created to capture completely different requirement with no relationship to the old one. ________________________________________ From: Balu Vellanki <[email protected]> Sent: Monday, August 10, 2015 10:28 AM To: [email protected] Subject: Re: Discuss : Handling entity deletion in Falcon Thank you Ajay Team - Please comment if you have any feedback. Balu Vellanki On 8/5/15, 5:25 PM, "Ajay Yadav on behalf of Ajay Yadava" <[email protected]> wrote: >Answer 1: >Falcon should keep the deleted instances in Graph DB. It should be treated >as historical record. > >That said growth of DB will be another concern, Falcon will need to >periodically archive instances to maintain performance of the Graph DB. > >Answer 2: >Current Falcon behaviour is that it tracks entity updates with >(name+type). >So if a new entity of same type is submitted with same name, then it >should >be treated as same entity's new version in Graph DB. Currently Graph DB >doesn't record the deletion, it will also need to record the deletion of >entities by using some property, so that users know which is the current >definition. > > > >On Thu, Aug 6, 2015 at 3:13 AM, Balu Vellanki <[email protected]> >wrote: > >> Hi Team, >> >> Question 1: >> As of today - Entities and their successful instances are stored in >> GraphDB. Entities are stored in configuration store. When an entity is >> deleted, the deleted entity is archived under configuration store. >>There is >> no way to list deleted entities via an existing API. The >>entities+instances >> are not deleted from GraphDB. So when an entity is deleted, should >>Falcon >> keep entity+instances for historical purposes or should Falcon delete >>them >> from graphDB? Should Falcon have an API to list archived entities? >> >> The potential use case here is that a user might want to see the >>instances >> of deleted entities (jobs) for historical/bookkeeping purposes. Please >> discuss if this is a valid use case that Falcon should support. If yes, >> Ying Zheng and Venkat Ranganathan suggested that Falcon should create a >> disk based archival store that can be queried. Since it is disk based, >>it >> will be slow. But the user understands that limitation, and the >>frequency >> of bookkeeping requests should be lot fewer than regular APIs. >> If you think this use case should not be supported by Falcon, the simple >> solution is to delete the entity+instances from the graphDB. >> >> Question 2 : When entity is deleted and a new entity is created with >>same >> name, Is this equivalent to update of an entity OR is the new object >> considered an entirely different entity? >> >> I believe the new entity should be treated as a different object, and >>the >> deleted entity of same name plus it's instances should not be associated >> with new entity. If falcon does not treat the entities as different >> objects, Falcon will have to introduce versioning of entities. All >> instances of an entity should be associated with a specific version of >> entity. Personally - I do not see a strong use case today for >>versioning. >> >> Please discuss. >> >> Thank you >> Balu Vellanki >> >> >>
