**Latest CCR Affecting this Ticket:** (for database administrator use
only)\
**Latest CCR DATE Affecting this Ticket:** (for database administrator
use only)

Ticket : DP_S4_05 (With L4 Mappings)

Allow Operators to Update Data Pool Collection to Group Mappings

+-------------------------------+----+---------------------------------+
| **Launch Criticality:** SY4   |    | **Ticket CCR Number^\*^:** (for |
|                               |    | database administrator use      |
| **Review:** DPL               |    | only**)**                       |
|                               |    |                                 |
| **Priority:** NO DATA         |    | **Ticket CCR Date^\*^:** (for   |
|                               |    | database administrator use      |
| **Number of Tracked Ticket    |    | only)                           |
| Changes:** (for database      |    |                                 |
| administrator use only)       |    | \* Represents changes to        |
|                               |    | information from Ticket table   |
|                               |    | only. Does not include          |
|                               |    | information linked in from      |
|                               |    | other tables.                   |
+-------------------------------+----+---------------------------------+

  -----------------------------------------------------------------------
  NOTE: The number of tracked changes (above) represents the number of
  changes to this particular Ticket. Whenever the data appearing in this
  Ticket changes this number is incremented by 1.

  -----------------------------------------------------------------------

**External Interface Dependency:**

None

**Subsystem Dependency:**

DPL

**Preconditions:**

The Data Pool database must contain at least 10 collection groups. Most
groups should contain two or more collections, but at least one should
contain only one collection. At least two collections (one each in two
separate groups) must be empty (i.e., no associated granules in the Data
Pool). One of the empty collections should have an existing
collection-level directory with at least one acquisition-date-level
subdirectory on Data Pool disk; the acquisition-date-level
subdirectories should be empty. At least one collection must have 10000
granules.

At least one collection must have granules with associated browse files
in the Data Pool. At least one collection must have the bulkExportedFlag
set in the DlCollections table.

**Differences from Previous Releases:**

This Ticket describes requirements for a new capability, not available
in any previous release of Data Pool.

**Operations Concept:**

The capability described in this Ticket will permit DAAC Operations to
re-assign a Data Pool collection to a collection group different from
the one to which the collection was assigned originally. Operators will
be able to re-assign collections to groups using a new Data Pool command
line utility developed for this purpose. The utility will allow
operators to remap both empty and non-empty collections to new groups.
The collection being remapped must be disabled for Data Pool inserts
(i.e. the insertEnabledFlag must be off for the collection) during the
remapping operation.

Use cases at the DAACs include: 1) correcting an error in the original
group assignment; 2) creating a new group and moving existing
collections from an old group to the new group (e.g., at LPDAAC, MODIS
is currently creating a combined product from Aqua and Terra data, but
the current MODIS groups are Aqua or Terra only. The combined products
are currently going into the Data Pool under the MODIS Aqua group, but
there may be a need to create a new group for combined products, and to
move the existing combined product collections there.); 3) splitting a
group into subgroups, and moving collections from the original
super-group into the appropriate subgroup; and 4) remapping collections
from an original 4-character group name to a new 12-character name for
the same group (see DP_S4_08: Lengthen Data Pool Group ID).

Note that operators may define new groups using already-existing
functionality in the Data Pool Maintenance GUI.

**Operational Impact:**

Operators will have the ability to re-map a Data Pool collection to a
new group. Before using the new remapping utility to remap a collection
to a new group, the operator must use the Data Pool Maintenance GUI to
disable inserts against that collection during the remapping operation
(via the Data Pool Insertion setting on the Modify Collections page.)
Any attempted inserts to this collection during the remapping operation
will then fail, and should be retried by the operator (e.g., using the
Batch Insert Utility) after the remapping is completed and inserts
against the collection are re-enabled via the Data Pool Maintenance GUI.
The 'downtime' for the collection during the remapping operation will
depend on how many granules exist in the Data Pool for that collection.

DAAC Operations or User Services staff will be responsible for
communicating remappings of Data Pool collections to groups to their
user community.

**Transition Approach:**

There is no transition involved at the time this capability is delivered
to the DAACs. However, each time the re-mapping utility is run, the
utility will transition all existing granules from the old group to the
new group, both in the Data Pool database and on the Data Pool disk.

**Comments:**

This capability corresponds to RelB0_DPool NCR ECSed34577: GSFC/SMC:
Changing Collection Groups in the Data Pool.

**Level 3 Requirement(s):**

+-----------+------------------+-----------+-----------+-------------+
| **L3 ID** | **L3 Text**      | **C       | **        | **CCR Num** |
|           |                  | ategory** | Release** |             |
+-----------+------------------+-----------+-----------+-------------+
| DADS2676  | The ECS shall    | SY2 SY3   | Synergy   | 03-0111     |
|           | provide an       |           |           |             |
|           | on-line cache of |           |           |             |
|           | data products    |           |           |             |
|           | that are         |           |           |             |
|           | accessible by    |           |           |             |
|           | end users via    |           |           |             |
|           | the Web and FTP. |           |           |             |
|           | The minimal      |           |           |             |
|           | capacity of      |           |           |             |
|           | these caches     |           |           |             |
|           | shall be as      |           |           |             |
|           | follows:         |           |           |             |
|           |                  |           |           |             |
|           | -   EDC DAAC: 40 |           |           |             |
|           |     Terabytes    |           |           |             |
|           |                  |           |           |             |
|           | -   GSFC DAAC:   |           |           |             |
|           |     60 Terabytes |           |           |             |
|           |                  |           |           |             |
|           | -   LaRC DAAC:   |           |           |             |
|           |     20 Terabytes |           |           |             |
|           |                  |           |           |             |
|           | -   NSIDC DAAC:  |           |           |             |
|           |     1 Terabyte   |           |           |             |
+-----------+------------------+-----------+-----------+-------------+

**IRD Requirement(s):**

None

**Level 4 Requirement(s):**

+---------+----------------------------------------+---------+--------+
| **L4    | **L4 Text**                            | **Re    | **CCR  |
| ID**    |                                        | lease** | Num**  |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Data Pool Service shall provide a  | SY4     | NEW    |
| L-66005 | command-line Collection-to-Group       |         |        |
|         | Remapping utility that permits         |         |        |
|         | operators to re-assign an existing     |         |        |
|         | Data Pool collection to a different    |         |        |
|         | collection group, whether or not the   |         |        |
|         | collection is empty.                   |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66010 | utility shall take as input:           |         |        |
|         |                                        |         |        |
|         | a.  the name of the collection         |         |        |
|         |                                        |         |        |
|         | b.  its current collection group id    |         |        |
|         |     (for verification)                 |         |        |
|         |                                        |         |        |
|         | c.  the new collection group id        |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66015 | utility shall verify that the          |         |        |
|         | collection and group names input on    |         |        |
|         | the command line are valid collection  |         |        |
|         | and group names in the Data Pool       |         |        |
|         | database, and shall exit with an       |         |        |
|         | explanatory error if not.              |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66020 | utility shall verify that the          |         |        |
|         | specified collection belongs to the    |         |        |
|         | collection group specified in the      |         |        |
|         | command line and shall exit with an    |         |        |
|         | error if it does not.                  |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66025 | utility shall verify that the          |         |        |
|         | insertEnabledFlag is turned off for    |         |        |
|         | the specified collection, and, if not, |         |        |
|         | shall exit with a message asking the   |         |        |
|         | operator to use the Data Pool          |         |        |
|         | Maintenance GUI to set the collection  |         |        |
|         | as \'invalid for data pool\' for the   |         |        |
|         | duration of the remapping operation.   |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66030 | utility shall verify that no other     |         |        |
|         | copy of the utility is running in the  |         |        |
|         | same mode, and shall exit with an      |         |        |
|         | explanatory error message if so.       |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66035 | utility shall not allow remapping of   |         |        |
|         | any collection to the BRWS group. The  |         |        |
|         | utility shall exit with an explanatory |         |        |
|         | error if an attempt is made to do so.  |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66040 | utility shall not allow the remapping  |         |        |
|         | of the Browse.001 collection to any    |         |        |
|         | group. The utility shall exit with an  |         |        |
|         | explanatory error if an attempt is     |         |        |
|         | made to do so. (Browse.001 is          |         |        |
|         | currently mapped to BRWS).             |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66045 | utility shall update the               |         |        |
|         | collection-to-group mapping            |         |        |
|         | information in the Data Pool database  |         |        |
|         | to remap the collection to the new     |         |        |
|         | group.                                 |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66050 | utility shall modify any affected Data |         |        |
|         | Warehouse fact entries for all         |         |        |
|         | granules in the affected collection to |         |        |
|         | reflect the new group association for  |         |        |
|         | the collection.                        |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66055 | utility shall determine whether a      |         |        |
|         | directory for the new group exists on  |         |        |
|         | the Data Pool file system, and if not, |         |        |
|         | it shall create one.                   |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | When remapping an empty collection to  | SY4     | NEW    |
| L-66060 | a new group, the Collection-to-Group   |         |        |
|         | Remapping utility shall check whether  |         |        |
|         | a collection-level directory exists    |         |        |
|         | under the old group parent directory   |         |        |
|         | for the collection being remapped. If  |         |        |
|         | so, the Collection-to-Group Remapping  |         |        |
|         | utility shall remove the               |         |        |
|         | collection-level directory and any and |         |        |
|         | all (presumably empty)                 |         |        |
|         | acquisition-date-level subdirectories. |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | When remapping a populated collection  | SY4IV   | NEW    |
| L-66065 | to a new group, the                    |         |        |
|         | Collection-to-Group Remapping utility  |         |        |
|         | shall relocate the collection          |         |        |
|         | directory on Data Pool disk from the   |         |        |
|         | parent directory for the old group to  |         |        |
|         | the parent directory for the new       |         |        |
|         | group. This relocation shall not       |         |        |
|         | involve physical movement of files.    |         |        |
|         | (It is assumed that remapping a Data   |         |        |
|         | Pool collection to a new group never   |         |        |
|         | involves moving the collection to a    |         |        |
|         | new file system. If the operator       |         |        |
|         | wishes to move a collection to a new   |         |        |
|         | file system, the utility described in  |         |        |
|         | OP_S4_06 shall be used.)               |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66070 | utility shall perform its remapping    |         |        |
|         | function in such a way as to preserve  |         |        |
|         | the validity of previously exported    |         |        |
|         | urls for Data Pool granules from the   |         |        |
|         | remapped collection. (e.g., urls       |         |        |
|         | exported to ECHO, EDG, Order Manager). |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66075 | utility shall update the file entries  |         |        |
|         | in the Data Pool inventory for all     |         |        |
|         | granules in the affected collection,   |         |        |
|         | to reflect the new parent directory.   |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66080 | utility shall be able to detect and    |         |        |
|         | recover from an aborted utility run.   |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Data Pool Service shall ensure     | SY4     | NEW    |
| L-66085 | that the remapping of collections to   |         |        |
|         | new groups shall not result in fatal   |         |        |
|         | insert errors for granules in the      |         |        |
|         | remapped collection while the          |         |        |
|         | collection is being remapped.          |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Data Pool Web Access GUI shall     | SY4     | NEW    |
| L-66090 | prevent drill down on a collection     |         |        |
|         | while the collection is being          |         |        |
|         | remapped, if web access to the         |         |        |
|         | granules in the collection during the  |         |        |
|         | collection remapping would result in   |         |        |
|         | an error.                              |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Data Pool Service shall ensure     | SY4     | NEW    |
| L-66095 | that the remapping of collections to   |         |        |
|         | new groups shall not result in missed  |         |        |
|         | granule deletions by Data Pool         |         |        |
|         | utilities (i.e., Cleanup,              |         |        |
|         | EcDlGetGranIds) while the collection   |         |        |
|         | is being remapped.                     |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66100 | utility shall write the following      |         |        |
|         | information to a log file:             |         |        |
|         |                                        |         |        |
|         | a.  the name of the collection being   |         |        |
|         |     remapped                           |         |        |
|         |                                        |         |        |
|         | b.  the old parent group               |         |        |
|         |                                        |         |        |
|         | c.  the new parent group               |         |        |
|         |                                        |         |        |
|         | d.  the time the utility was invoked   |         |        |
|         |                                        |         |        |
|         | e.  the number of granules in the      |         |        |
|         |     collection being remapped          |         |        |
|         |                                        |         |        |
|         | f.  the time the utility completed the |         |        |
|         |     remapping operation                |         |        |
|         |                                        |         |        |
|         | g.  the fact that a new group level    |         |        |
|         |     directory was created, if it was   |         |        |
|         |                                        |         |        |
|         | h.  the fact that a collection-level   |         |        |
|         |     directory and all sub-directories  |         |        |
|         |     were removed, if they were         |         |        |
|         |                                        |         |        |
|         | i.  any errors encountered             |         |        |
|         |                                        |         |        |
|         | Log entries shall be timestamped to    |         |        |
|         | the millisecond.                       |         |        |
+---------+----------------------------------------+---------+--------+
| S-DP    | The Collection-to-Group Remapping      | SY4     | NEW    |
| L-66105 | utility shall remap granules in the    |         |        |
|         | affected collection at a minimum rate  |         |        |
|         | of 18000 granules per hour (i.e., 5    |         |        |
|         | granules per second).                  |         |        |
+---------+----------------------------------------+---------+--------+

**L4 to L3 Mappings:**

  ----------------------------- --------------------- -------------------
  **L4 ID**                     **L3 ID**             **CCR Num**

  S-DPL-66005                   DADS2676              NEW

  S-DPL-66010                   DADS2676              NEW

  S-DPL-66015                   DADS2676              NEW

  S-DPL-66020                   DADS2676              NEW

  S-DPL-66025                   DADS2676              NEW

  S-DPL-66030                   DADS2676              NEW

  S-DPL-66035                   DADS2676              NEW

  S-DPL-66040                   DADS2676              NEW

  S-DPL-66045                   DADS2676              NEW

  S-DPL-66050                   DADS2676              NEW

  S-DPL-66055                   DADS2676              NEW

  S-DPL-66060                   DADS2676              NEW

  S-DPL-66065                   DADS2676              NEW

  S-DPL-66070                   DADS2676              NEW

  S-DPL-66075                   DADS2676              SY4

  S-DPL-66080                   DADS2676              SY4

  S-DPL-66085                   DADS2676              SY4

  S-DPL-66090                   DADS2676              SY4

  S-DPL-66095                   DADS2676              SY4

  S-DPL-66100                   DADS2676              SY4

  S-DPL-66105                   DADS2676              SY4

  S-DPL-66005                   DADS2676              SY4
  ----------------------------- --------------------- -------------------

**L4 to IRD Mappings:**

None

**Design Directive(s):**

The design shall include an analysis of conflict situations among the
Collection-to-Group Remapping utilities and other Data Pool operations
(insert, drill down) and utilities (cleanup/validation, checksum,
DeleteGranIds), and shall provide an explanation of how these conflict
situations are dealt with.

Design alternatives for dealing with conflict situations include:

-   The Collection-to-Group Remapping utility and/or other Data Pool
    utilities verify that a conflicting utility is not running. The
    verifying utility might back off for a configurable time or log the
    error and exit with an appropriate status.

-   The Collection-to-Group Remapping utility checkpoints the start,
    end, and completion of intermediate steps of its execution in the
    Data Pool database, e.g., in the DlCollection table. Other Data Pool
    operations (e.g., Insert, Drill Down) can tell that a remapping
    operation is in progress for the collection and behave accordingly.

The design shall include an analysis of how to detect and recover from
an aborted utility run.

**Criteria:**

+--------+--------+---------------------------------+--------+--------+
| **Cr   | **Cr   | **Criteria Text**               | **     | **CCR  |
| iteria | iteria |                                 | Type** | Num**  |
| Key**  | ID**   |                                 |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 30     | Use the Data Pool Maintenance   | FC     | NEW    |
|        |        | GUI to turn off the             |        |        |
|        |        | insertEnabledFlag for an empty  |        |        |
|        |        | collection. Use the             |        |        |
|        |        | Collection-to-Group Remapping   |        |        |
|        |        | utility to re-assign this       |        |        |
|        |        | collection to a new group. The  |        |        |
|        |        | collection should have an empty |        |        |
|        |        | collection directory under the  |        |        |
|        |        | old parent group directory.     |        |        |
|        |        | Verify that:                    |        |        |
|        |        |                                 |        |        |
|        |        | a.  The DlDimensionGroupESDT    |        |        |
|        |        |     table has been updated      |        |        |
|        |        |     correctly to reflect the    |        |        |
|        |        |     new collection-to-group     |        |        |
|        |        |     mapping.                    |        |        |
|        |        |                                 |        |        |
|        |        | b.  The DlCollection table has  |        |        |
|        |        |     been updated correctly to   |        |        |
|        |        |     reflect the new             |        |        |
|        |        |     collection-to-group         |        |        |
|        |        |     mapping.                    |        |        |
|        |        |                                 |        |        |
|        |        | c.  The collection directory    |        |        |
|        |        |     under the old parent group  |        |        |
|        |        |     directory is removed.       |        |        |
|        |        |                                 |        |        |
|        |        | d.  The correct information is  |        |        |
|        |        |     written to the utility log  |        |        |
|        |        |     file.                       |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 40     | Choose a populated collection   | FC     | NEW    |
|        |        | from a group with more than one |        |        |
|        |        | collection assigned to it. Use  |        |        |
|        |        | the Data Pool Maintenance GUI   |        |        |
|        |        | to turn off the                 |        |        |
|        |        | insertEnabledFlag for this      |        |        |
|        |        | collection. Use the             |        |        |
|        |        | Collection-to-Group Remapping   |        |        |
|        |        | utility to re-assign this       |        |        |
|        |        | collection to a new group for   |        |        |
|        |        | which a directory does not      |        |        |
|        |        | already exist in the Data Pool  |        |        |
|        |        | file system. There should be    |        |        |
|        |        | more than one collection        |        |        |
|        |        | assigned to the old parent      |        |        |
|        |        | group. Verify that:             |        |        |
|        |        |                                 |        |        |
|        |        | a\. the utility accepts the     |        |        |
|        |        | required command line           |        |        |
|        |        | parameters                      |        |        |
|        |        |                                 |        |        |
|        |        | b.  the DlDimensionGroupESDT    |        |        |
|        |        |     table has been updated      |        |        |
|        |        |     correctly to reflect the    |        |        |
|        |        |     new collection-to-group     |        |        |
|        |        |     mapping                     |        |        |
|        |        |                                 |        |        |
|        |        | c.  the DlCollection table has  |        |        |
|        |        |     been updated correctly to   |        |        |
|        |        |     reflect the new             |        |        |
|        |        |     collection-to-group mapping |        |        |
|        |        |                                 |        |        |
|        |        | d.  the DlFile table has been   |        |        |
|        |        |     updated correctly for all   |        |        |
|        |        |     granules in the collection  |        |        |
|        |        |                                 |        |        |
|        |        | e.  the DlFactGroupESDT table   |        |        |
|        |        |     has been updated correctly  |        |        |
|        |        |     for all granules in the     |        |        |
|        |        |     collection                  |        |        |
|        |        |                                 |        |        |
|        |        | f.  the new parent group        |        |        |
|        |        |     directory is created on the |        |        |
|        |        |     Data Pool file system       |        |        |
|        |        |                                 |        |        |
|        |        | g.  the collection directory is |        |        |
|        |        |     accessible from the new     |        |        |
|        |        |     parent group directory      |        |        |
|        |        |                                 |        |        |
|        |        | h.  the correct information is  |        |        |
|        |        |     written to the utility log  |        |        |
|        |        |     file                        |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 42     | Use the EDG to submit an        | FC     | NEW    |
|        |        | inventory search request which  |        |        |
|        |        | will find a granule which       |        |        |
|        |        | resides in the Data Pool, which |        |        |
|        |        | has an associated browse file,  |        |        |
|        |        | and which will not expire       |        |        |
|        |        | before the test is complete.    |        |        |
|        |        | Bookmark the Data Pool urls     |        |        |
|        |        | which are returned to the EDG   |        |        |
|        |        | for this science granule, its   |        |        |
|        |        | associated metadata file, and   |        |        |
|        |        | its associated browse file      |        |        |
|        |        |                                 |        |        |
|        |        | Remap the collection to which   |        |        |
|        |        | this granule belongs to a       |        |        |
|        |        | different group.                |        |        |
|        |        |                                 |        |        |
|        |        | After the remapping operation   |        |        |
|        |        | has completed successfully,     |        |        |
|        |        | verify that the science         |        |        |
|        |        | granule, its associated         |        |        |
|        |        | metadata, and its associated    |        |        |
|        |        | browse can be retrieved         |        |        |
|        |        | successfully using the          |        |        |
|        |        | bookmarked urls.                |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 43     | Using the Order Manager GUI,    | FC     | NEW    |
|        |        | suspend orders to PDS. Then use |        |        |
|        |        | the Data Pool Web Access GUI to |        |        |
|        |        | place an order for physical     |        |        |
|        |        | media. Use the remapping        |        |        |
|        |        | utility to remap one collection |        |        |
|        |        | that is represented in the      |        |        |
|        |        | physical media order to a new   |        |        |
|        |        | group. After the remapping      |        |        |
|        |        | operation has completed         |        |        |
|        |        | successfully, use the Order     |        |        |
|        |        | Manager GUI to resume PDS       |        |        |
|        |        | orders. Verify that the Data    |        |        |
|        |        | Pool Web Access order completes |        |        |
|        |        | successfully.                   |        |        |
|        |        |                                 |        |        |
|        |        | NOTE: This test can only be run |        |        |
|        |        | with the Synergy IV version of  |        |        |
|        |        | Data Pool Web Access which      |        |        |
|        |        | supports OD_S4_01: Improve      |        |        |
|        |        | Distribution to End Users       |        |        |
|        |        | through Data Pool.              |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 44     | Run the EcBmBulkURL utility in  | FC     | NEW    |
|        |        | insert mode. Save the output    |        |        |
|        |        | file. Use the remapping utility |        |        |
|        |        | to remap one collection that is |        |        |
|        |        | represented in the EcBmBulkURL  |        |        |
|        |        | output file to a new group.     |        |        |
|        |        |                                 |        |        |
|        |        | After the remapping operation   |        |        |
|        |        | has completed successfully,     |        |        |
|        |        | choose a science granule in the |        |        |
|        |        | EcBmBulkURL output file which   |        |        |
|        |        | belongs to the remapped         |        |        |
|        |        | collection, and verify that the |        |        |
|        |        | science granule and its         |        |        |
|        |        | associated metadata file can be |        |        |
|        |        | retrieved successfully using    |        |        |
|        |        | the ftp urls from the           |        |        |
|        |        | EcBmBulkURL output file (e.g.,  |        |        |
|        |        | by cutting the ftp url from the |        |        |
|        |        | output file and pasting it into |        |        |
|        |        | a browser window)..             |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 45     | Repeat the test in Criterion    | FC     | NEW    |
|        |        | 40, except with a case where    |        |        |
|        |        | the new parent group directory  |        |        |
|        |        | already exists. Verify steps    |        |        |
|        |        | a-e, g, and h in Criterion 40.  |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 50     | Insert a granule in the         | FC     | NEW    |
|        |        | collection in Criterion 40 into |        |        |
|        |        | the Data Pool. Verify that the  |        |        |
|        |        | granule is inserted             |        |        |
|        |        | successfully into the correct   |        |        |
|        |        | directory on disk, and that the |        |        |
|        |        | fact and file information about |        |        |
|        |        | the granule is correct in the   |        |        |
|        |        | Data Pool database.             |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 60     | Use the Web Access GUI to drill | FC     | NEW    |
|        |        | down on the collection in       |        |        |
|        |        | Criterion 40. Construct the     |        |        |
|        |        | drill down query such that the  |        |        |
|        |        | results set contains the        |        |        |
|        |        | granule in Criterion 50 as well |        |        |
|        |        | as one or more preexisting      |        |        |
|        |        | granules in the collection.     |        |        |
|        |        | Verify that the granule in      |        |        |
|        |        | Criterion 50 and a preexisting  |        |        |
|        |        | granule can be downloaded       |        |        |
|        |        | successfully from the results   |        |        |
|        |        | page.                           |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 70     | Invoke the Collection-to-Group  | EC     | NEW    |
|        |        | Remapping utility, specifying   |        |        |
|        |        | invalid collection and group    |        |        |
|        |        | names on the command line.      |        |        |
|        |        | Verify that the utility exits   |        |        |
|        |        | and returns the appropriate     |        |        |
|        |        | error messages both on the      |        |        |
|        |        | command line and in its log.    |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 72     | Invoke the Collection-to-Group  | EC     | NEW    |
|        |        | Remapping utility, specifying a |        |        |
|        |        | current collection group to     |        |        |
|        |        | which the collection to be      |        |        |
|        |        | remapped does not belong.       |        |        |
|        |        | Verify that the utility exits   |        |        |
|        |        | and returns the appropriate     |        |        |
|        |        | error messages both on the      |        |        |
|        |        | command line and in its log.    |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 75     | Invoke the Collection-to-Group  | EC     | NEW    |
|        |        | Remapping utility specifying a  |        |        |
|        |        | collection where the            |        |        |
|        |        | insertEnabledFlag is on. Verify |        |        |
|        |        | that the utility exits, informs |        |        |
|        |        | the operator that the           |        |        |
|        |        | collection must be disabled for |        |        |
|        |        | Data Pool insert during the     |        |        |
|        |        | remapping operation, and logs   |        |        |
|        |        | an appropriate error message.   |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 76     | Attempt to start the            | EC     | NEW    |
|        |        | Collection-to-Group Remapping   |        |        |
|        |        | utility while another copy of   |        |        |
|        |        | the utility is running in the   |        |        |
|        |        | same mode. Verify that the      |        |        |
|        |        | second copy exits and returns   |        |        |
|        |        | the appropriate error messages  |        |        |
|        |        | both on the command line and in |        |        |
|        |        | its log.                        |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 78     | Attempt to use the              | EC     | NEW    |
|        |        | Collection-to-Group Remapping   |        |        |
|        |        | utility to map a collection     |        |        |
|        |        | other than Browse.001 to the    |        |        |
|        |        | BRWS group. Verify that the     |        |        |
|        |        | utility exits and returns the   |        |        |
|        |        | appropriate error messages both |        |        |
|        |        | on the command line and in its  |        |        |
|        |        | log.                            |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 79     | Attempt to use the              | EC     | NEW    |
|        |        | Collection-to-Group Remapping   |        |        |
|        |        | utility to map the Browse.001   |        |        |
|        |        | collection to a group other     |        |        |
|        |        | than BRWS. Verify that the      |        |        |
|        |        | utility exits and returns the   |        |        |
|        |        | appropriate error messages both |        |        |
|        |        | on the command line and in its  |        |        |
|        |        | log.                            |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 80     | Cause the Collection-to-Group   | EC     | NEW    |
|        |        | Remapping utility to abort      |        |        |
|        |        | during operation. Demonstrate   |        |        |
|        |        | that the operator is able to    |        |        |
|        |        | re-run the utility in such a    |        |        |
|        |        | way as to detect and recover    |        |        |
|        |        | successfully from the aborted   |        |        |
|        |        | run.                            |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 90     | Attempt to insert granules into | FC     | NEW    |
|        |        | a collection which is being     |        |        |
|        |        | remapped. Verify that inserts   |        |        |
|        |        | fail because the                |        |        |
|        |        | insertEnabledFlag is off. After |        |        |
|        |        | the remapping is complete, use  |        |        |
|        |        | the Data Pool Maintenance GUI   |        |        |
|        |        | to re-enable inserts for the    |        |        |
|        |        | Collection. Use the Batch       |        |        |
|        |        | Insert utility to re-attempt    |        |        |
|        |        | inserts for the failed          |        |        |
|        |        | granules. Verify that the       |        |        |
|        |        | re-insert attempts are          |        |        |
|        |        | successful, and that the        |        |        |
|        |        | granules are inserted into the  |        |        |
|        |        | correct directory.              |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 100    | Attempt a drill down operation  | FC     | NEW    |
|        |        | on a collection which is being  |        |        |
|        |        | remapped. Verify that either    |        |        |
|        |        | the drill down is prevented, or |        |        |
|        |        | that no drill down errors occur |        |        |
|        |        | during the remapping operation, |        |        |
|        |        | and that after the remapping is |        |        |
|        |        | completed, granules in the      |        |        |
|        |        | collection can be downloaded    |        |        |
|        |        | from a drill down results page. |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 110    | Attempt to run the Cleanup      | FC     | NEW    |
|        |        | utility to clean up granules in |        |        |
|        |        | a collection which is being     |        |        |
|        |        | remapped. Verify that the       |        |        |
|        |        | granules in the collection are  |        |        |
|        |        | eventually cleaned up correctly |        |        |
|        |        | from the database and from      |        |        |
|        |        | disk.                           |        |        |
+--------+--------+---------------------------------+--------+--------+
|        | 120    | Use the Collection-to-Group     | PC     | NEW    |
|        |        | Remapping Utility to remap      |        |        |
|        |        | granules in a collection with   |        |        |
|        |        | at least 10000 granules. Verify |        |        |
|        |        | that the remapping completes in |        |        |
|        |        | the required time.              |        |        |
+--------+--------+---------------------------------+--------+--------+