Revise entity state and status format and access#955
Revise entity state and status format and access#955sebastianburckhardt merged 2 commits intofeature/core-entitiesfrom
Conversation
| /// <summary> | ||
| /// Whether this entity exists or not. | ||
| /// </summary> | ||
| [DataMember(Name = "exists", EmitDefaultValue = false)] | ||
| public bool EntityExists { get; set; } | ||
| [IgnoreDataMember] | ||
| public bool EntityExists => this.EntityState != null; |
There was a problem hiding this comment.
Is this change (changing DataMember to IgnoreDataMember) backwards compatible? Not immediately sure who's consuming this.
There was a problem hiding this comment.
This change should be backwards compatible since it should always (in theory) return the same value as before. But entities haven't been shipped/announced as a public feature of DTFx, so I assume we don't need to worry about backwards compatibility yet?
There was a problem hiding this comment.
entities haven't been shipped/announced as a public feature of DTFx
ah, good call out
There was a problem hiding this comment.
so I assume we don't need to worry about backwards compatibility yet?
I actually did design the core-entities with compatibility in mind - I was planning to switch the old entity implementation in DF to the new implementation of entities in DT core, so non-isolated users can benefit from it as well. However, that is not currently our priority - for now we just care about getting Isolated working.
* Bring entity logic into DurableTask.Core (first milestone) (#887) * implementaton of entity mechanics, compatible with existing DF SDK, but without a user-facing entity SDK for DTFx * address PR feedback. * fix usings and namespaces * address PR feedback * address PR feedback (remove NameObjectManager), fix breaking change in TaskHubWorker, fix some comments * address PR feedback (fix CustomExceptionsTest, remove public property) * add #nullable enable to most new classes * address PR feedback * try to fix compiler errors * add a configuration setting that disables separate dispatch by default * address PR feedback * address PR feedback * fix semantic merge conflict. * Revise entity state and status format and access (#955) * update scheduler state and entity status format and helpers * fix mess-up caused by merge conflict * Revise entity message format and external access (#956) * revise how event messages are represented and used * fix merge anomaly. * make current critical section id publicly visible (#958) * remove orchestration tags from entity action (#952) * Rename OperationBatchRequest and OperationBatchResponse (#953) * rename OperationBatch to EntityBatch * fix accidentally commited change from another PR * Revise how entity batches are executed and handle failures (#954) * revise task entity definition * commit change that had been accidentally committed to a different PR. * Apply suggestions from code review Co-authored-by: David Justo <david.justo.1996@gmail.com> * Apply suggestions from code review Co-authored-by: Jacob Viau <javia@microsoft.com> --------- Co-authored-by: David Justo <david.justo.1996@gmail.com> Co-authored-by: Jacob Viau <javia@microsoft.com> * revise operation result encoding and add more comments. (#965) * revise entity backend properties and implement entity backend queries (#957) * revise entity backend properties and implement entity backend queries. * Minor revisions to querries and properties, and improved comments. * fix validation of which LockNext methods are being called. * improve comments * fix useage of IEntityOrchestrationService. * revise how to exclude entity results from queries. * address PR feedback * Update versions for ADO feed (#973) * Add no-warn for NU5104 (#974) * revise propagation path for entity parameters (#971) * fix propagation path for entity parameters that need to reach the orchestration executor. * address PR feedback. * Revise entity queries (#981) * rename includeDeletedEntities to includeStatelessEntities and add comment explaining the meaning * add backlogQueueSize and lockedBy to entity metadata * fix bugs in tracking store implementation (#979) * add scheduled start time parameter to the start-new-orchestration operation action. (#980) * Revise serialization of entitymessages (#972) * revise how entity messages are serialized when sent by orchestrators. * address PR feedback (use RawInput) * Rename includeStateless to includeTransient in entity queries (#985) * rename includeStateless to includeTransient * rename variable also * Rev to entities-preview.2 (#986) * fix null reference exception when running on older backends (#989) * Prepare for public preview (#994) --------- Co-authored-by: David Justo <david.justo.1996@gmail.com> Co-authored-by: Jacob Viau <javia@microsoft.com>
Three changes here:
entityExistsfield. Instead, just use a property.EntityStatusandSchedulerStatewithout us having to make the serialization format public. This is needed by backends that provide entity query functionality directly.