[CONTROLLER-720] Clustering : Remove actorFor (deprecated) call from TransactionProxy.java Created: 23/Aug/14  Updated: 17/Oct/14  Resolved: 17/Oct/14

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: Helium
Fix Version/s: None

Type: Bug
Reporter: Abhishek Kumar Assignee: Kamal Rameshan
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: PC


External issue ID: 1607

 Description   

Its used on line#401 in method public Future<ActorPath> readyTransaction().

actorFor is deprecated. ActorSelection can be used instead.

Also, on line#395,
String resolvedCohortPath = getResolvedCohortPath(reply.getCohortPath().toString());

there is no need to convert the ActorPath got from reply.getCohortPath(). This can directly be used if line#401 is changed to use actor selection.



 Comments   
Comment by Moiz Raja [ 09/Oct/14 ]

Please note as part of this bug fix you may want to do the following,

1. In ShardTransaction when creating the ReadyTransactionReply instead of using cohortActor.path() use Serialization.serializedActorPath(). The difference between these two calls is that cohortActor.path() returns the local path of the actor as an ActorPath whereas Serialization.serializedActorPath() returns the remote path of the actor as a String. Once you do this you do not need to use ActorContext.resolvePath.

2. Eliminate the ActorContext.resolvePath method as it is deprecated as well.

3. Eliminate all actorSystem.actorFor calls. This needs to be done both in TransactionProxy and ReadyTransactionReply#fromSerializable.

4. Change the readyTransaction to return either Future<String> or Future<ActorSelection> - this is probably the more extensive change

Generated at Wed Feb 07 19:53:42 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.