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

Mike Drob commented on SOLR-7187:
---------------------------------

Yea, I traced the queues through from delete to unload. Based on your comments 
and running a few sample tests, it sounds like the difference in implementation 
is architectural, which gives me a little confusion to how we name things.

Data dir in HDFS: 
{{hdfs://localhost:44036/solr/delete_data_dir/core_node2/data}}
Instance dir in HDFS: 
{{/tmp/solr.cloud.hdfs.StressHdfsTest-C14CE921F29EF7F3-001/tempDir-005/delete_data_dir_shard2_replica1}}

Data dir in non-HDFS: 
{{/tmp/solr.cloud.CreateDeleteCollectionTest-AD37514288D15339-001/tempDir-003/delete_data_dir_shard1_replica2/data/}}
Instance dir in non-HDFS: 
{{/tmp/solr.cloud.CreateDeleteCollectionTest-AD37514288D15339-001/tempDir-003/delete_data_dir_shard1_replica2}}

When we delete the instance dir, we are always looking at a local directory. I 
could wire up a patch to delete {{dataDir.getParent()}} when deleting the data 
direcotry if we are using HDFS, but that seems fragile. Maybe it makes the most 
sense to delete the entire collection dir as a post step, if we determine that 
we're on HDFS. My impression is that there is no common collection-wide local 
directory for non-HDFS use cases, even when multiple cores are hosted on the 
same server, which is why this wasn't seen outside of HDFS.

Is the {{tempDir-003}} part of the path a meaningful directory level or just an 
artifact of JUnit structuring; i.e. should we be worrying about deleting it 
when we delete a collection (we currently do not)?

> SolrCloud does not fully clean collection after delete
> ------------------------------------------------------
>
>                 Key: SOLR-7187
>                 URL: https://issues.apache.org/jira/browse/SOLR-7187
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>    Affects Versions: 4.10.3
>            Reporter: Mike Drob
>         Attachments: log.out.gz
>
>
> When I attempt to delete a collection using 
> {{/admin/collections?action=DELETE&name=collection1}} if I go into HDFS I 
> will still see remnants from the collection. No files, but empty directories 
> stick around.
> {noformat}
> [root@solr1 ~]# sudo -u hdfs hdfs dfs -ls -R /solr/collection1
> drwxr-xr-x   - solr solr          0 2015-03-03 15:42 
> /solr/collection1/core_node1
> drwxr-xr-x   - solr solr          0 2015-03-03 15:42 
> /solr/collection1/core_node2
> drwxr-xr-x   - solr solr          0 2015-03-03 15:42 
> /solr/collection1/core_node3
> drwxr-xr-x   - solr solr          0 2015-03-03 15:42 
> /solr/collection1/core_node4
> drwxr-xr-x   - solr solr          0 2015-03-03 15:42 
> /solr/collection1/core_node5
> drwxr-xr-x   - solr solr          0 2015-03-03 15:42 
> /solr/collection1/core_node6
> {noformat}
> (Edit: I had the wrong log portion here originally)
> In the logs, after deleting all the data, I see:
> {noformat}
> 2015-03-03 16:15:14,762 INFO org.apache.solr.servlet.SolrDispatchFilter: 
> [admin] webapp=null path=/admin/cores 
> params={deleteInstanceDir=true&action=UNLOAD&core=collection1_shard5_replica1&wt=javabin&qt=/admin/cores&deleteDataDir=true&version=2}
>  status=0 QTime=362 
> 2015-03-03 16:15:14,787 INFO org.apache.solr.common.cloud.ZkStateReader: A 
> cluster state change: WatchedEvent state:SyncConnected type:NodeDataChanged 
> path:/clusterstate.json, has occurred - updating... (live nodes size: 1)
> 2015-03-03 16:15:14,854 INFO org.apache.solr.cloud.DistributedQueue: 
> LatchChildWatcher fired on path: /overseer/queue state: SyncConnected type 
> NodeChildrenChanged
> 2015-03-03 16:15:14,879 INFO org.apache.solr.cloud.DistributedQueue: 
> LatchChildWatcher fired on path: /overseer/queue state: SyncConnected type 
> NodeChildrenChanged
> 2015-03-03 16:15:14,896 INFO org.apache.solr.cloud.DistributedQueue: 
> LatchChildWatcher fired on path: /overseer/queue state: SyncConnected type 
> NodeChildrenChanged
> 2015-03-03 16:15:14,920 INFO org.apache.solr.cloud.DistributedQueue: 
> LatchChildWatcher fired on path: /overseer/queue state: SyncConnected type 
> NodeChildrenChanged
> 2015-03-03 16:15:15,151 INFO org.apache.solr.cloud.DistributedQueue: 
> LatchChildWatcher fired on path: /overseer/queue state: SyncConnected type 
> NodeChildrenChanged
> 2015-03-03 16:15:15,170 INFO org.apache.solr.cloud.DistributedQueue: 
> LatchChildWatcher fired on path: /overseer/queue state: SyncConnected type 
> NodeChildrenChanged
> 2015-03-03 16:15:15,279 INFO org.apache.solr.common.cloud.ZkStateReader: A 
> cluster state change: WatchedEvent state:SyncConnected type:NodeDataChanged 
> path:/clusterstate.json, has occurred - updating... (live nodes size: 1)
> 2015-03-03 16:15:15,546 INFO org.apache.solr.cloud.DistributedQueue: 
> LatchChildWatcher fired on path: 
> /overseer/collection-queue-work/qnr-0000000016 state: SyncConnected type 
> NodeDataChanged
> 2015-03-03 16:15:15,562 INFO org.apache.solr.cloud.DistributedQueue: 
> LatchChildWatcher fired on path: /overseer/collection-queue-work state: 
> SyncConnected type NodeChildrenChanged
> 2015-03-03 16:15:15,562 INFO 
> org.apache.solr.cloud.OverseerCollectionProcessor: Overseer Collection 
> Processor: Message id:/overseer/collection-queue-work/qn-0000000016 complete, 
> response:{success={solr1.example.com:8983_solr={responseHeader={status=0,QTime=207}},solr1.example.com:8983_solr={responseHeader={status=0,QTime=243}},solr1.example.com:8983_solr={responseHeader={status=0,QTime=243}},solr1.example.com:8983_solr={responseHeader={status=0,QTime=342}},solr1.example.com:8983_solr={responseHeader={status=0,QTime=346}},solr1.example.com:8983_solr={responseHeader={status=0,QTime=362}}}}
> {noformat}
> This might be related to SOLR-5023, but I'm not sure.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to