[GLASSFISH-20649] Failed in deleting the instance Created: 20/Jun/13  Updated: 20/Dec/16  Resolved: 10/Sep/13

Status: Resolved
Project: glassfish
Component/s: admin
Affects Version/s: 4.0_dev
Fix Version/s: 4.1

Type: Bug Priority: Major
Reporter: Jeremy_Lv Assignee: Chris Kasso
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows


Attachments: Text File revision.patch    

 Description   

Here's the detailed steps to reproduce it:

1).Failed in delete the local instance

<1>.asadmin create-local-instance ins1
Command create-local-instance executed successfully.

<2>.asadmin create-local-instance INS1
Command create-local-instance executed successfully.

<3>.asadmin delete-local-instance ins1
Command delete-local-instance executed successfully.

<4>.asadmin delete-local-instance INS1
The instance does not exist on this machine.
Command delete-local-instance failed.

<5>. asadmin list-instances
INS1 not running
Command list-instances executed successfully.

I have confirmed this bug is only happened on the windows platform which treats two file paths as the same even if they have different case.

BTW: I have uploaded the patch to fix this issue, pls check whether it is fine for me to check in the changes?

Thanks



 Comments   
Comment by Jeremy_Lv [ 17/Jul/13 ]

Hi, Chris:
IMHO, I think this is a critical bug, here's some of my opnions:

1). If any user have created an instance called ins1 under the directory of GF_home/$

{nodedir}

/$

{node}

, another user create the instance INS1 on the windows platform under the same node directory, the INS1's directory will cover the ins1's directory after the user have created the INS1. This will destroy the user's property about the directory ins1 without any warning messages.

2). The instance can't be started if we have deleted another instance with the same name - different case on the windows platform.

3). It will be failed in deleting the instance if we have deleted another instance with the same name - different case on the windows platform.

Comment by Jeremy_Lv [ 17/Jul/13 ]

Chris:

However, the changes I have attached exist some drawbacks need to be discussed:

1). It will affect the glassfish's performance when execute the "create-instance" and "create-local-instance" command, because it will list the related instance during the operation to create the instance:

CreateInstanceCommand.java
CommandInvocation listInstances = cr.getCommandInvocation("list-instances", report, context.getSubject());
ParameterMap map = new ParameterMap();
map.add("whichTarget", theNode.getName());
listInstances.parameters(map);
listInstances.execute();
CreateLocalInstanceCommand.java
    RemoteCLICommand rc = new RemoteCLICommand("list-instances", this.programOpts, this.env);

2). We should to make sure the value of nodedir can be copied in the configuration file when the node is initialized(I have discussed this issue in the dev mail list and created an issue related as GLASSFISH-20706 ), this is used to enhance our modification about this issue.

3). Our changes will not affect the syntax exist in the Linux platform. This is just an enhancement related to the windows platform.

Comment by Jeremy_Lv [ 10/Sep/13 ]

Here's update the revision!

Comment by Jeremy_Lv [ 10/Sep/13 ]

Checked in the changes as the revision 62710.

nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\LocalStrings.properties
nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\CreateInstanceCommand.java
nucleus\admin\config-api\src\main\java\com\sun\enterprise\config\serverbeans\LocalStrings.properties
nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\LocalStrings.properties
nucleus\admin\config-api\src\main\java\com\sun\enterprise\config\serverbeans\CopyConfig.java
nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\CreateLocalInstanceCommand.java
At revision: 62710

Passed all of the QL tests!

Generated at Mon Feb 27 15:55:43 UTC 2017 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.