aurora-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maxim Khutornenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AURORA-84) Deprecate the Identity struct
Date Fri, 03 Oct 2014 22:11:34 GMT

    [ https://issues.apache.org/jira/browse/AURORA-84?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14158596#comment-14158596
] 

Maxim Khutornenko commented on AURORA-84:
-----------------------------------------

Here is the implementation plan:

h4. TaskConfig
h5. Scheduler
Have to carry both deprecated and new replacement fields to ensure older clients are supported.
* Add a new {{role}} field into {{TaskConfig}}; 
* Rename {{owner}} to {{ownerDEPRECATED}};
* Backfill both fields on startup;
* Populate {{role}} from {{ownerDEPRECATED}} in {{ConfigurationManager}}.

h5. Client
h6. Old client 
Thrift drops the new {{role}} field and correctly processes the renamed {{ownerDEPRECATED}}
one. Both client diffs are unaffected.
h6. New client 
Have to support both deprecated and new replacement fields to ensure client works against
old and new scheduler:
* Populate both fields anywhere a {{TaskConfig}} is sent to the scheduler;
* Populate both fields in {{TaskConfig}} coming from scheduler before attempting a diff.

h5. UI
Does not use {{TaskConfig.owner}} field.


h4. JobConfiguration
h5. Scheduler
The {{owner}} field is redundant as the {{role}} is already represented by the job {{key}}
field.
* Rename {{owner}} to {{ownerDEPRECATED}};
* Switch all use cases to {{key}}.

h5. Client
h6. Old client
Renamed field is correctly used by thrift.
h6. New client
Have to keep using {{ownerDEPRECATED}} to ensure client works against old and new scheduler.
* UI. Does not use {{JobConfiguration.owner}} field.


h4. TaskQuery
h5. Scheduler
Have to carry both deprecated and new replacement fields to ensure older clients are supported.
* Add a new {{role}} field into {{TaskConfig}};
* Switch from {{ownerDEPRECATED}} to {{role}} internally by backfilling {{role}} in {{Query.Builder}}.

h5. Client
h6. Old client 
Keeps sending {{owner}} field to the scheduler.
h6. New client
Have to support both deprecated and new replacement fields to ensure client works against
old and new scheduler:
* Populate both fields anywhere a {{TaskQuery}} is created.

h5. UI 
Update {{services.js}} to populate {{role}} field instead.


> Deprecate the Identity struct
> -----------------------------
>
>                 Key: AURORA-84
>                 URL: https://issues.apache.org/jira/browse/AURORA-84
>             Project: Aurora
>          Issue Type: Task
>          Components: Client, Scheduler
>            Reporter: Bill Farner
>            Assignee: Maxim Khutornenko
>
> The Identity field is nested in several structs, and the {{role}} field it contains is
~always redundant to a field in {{JobKey}}. Consider removing Identity and using (or adding)
a non-user-bearing field like JobKey.
> An open question is whether whether {{Identity.user}} should be retained.  Most likely
yes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message