Tracking down a problem with AIP dissemination (in DSpace 1.7.1), I found that the process stopped with a MetsException: 'ID "bitstream_2" already exists'. The ID is created in AbstractMETSDisseminator.makeManifest, where it is made by concatenating "bitstream_" with the bitstream's sequence_id.
The item in question does indeed contain bitstreams with identical
sequence_id in different bundles:
dspace=> SELECT bundle_id, bitstream_id, sequence_id FROM bitstream
JOIN (SELECT bitstream_id, bundle_id FROM bundle2bitstream WHERE
bundle_id IN (SELECT bundle_id FROM item2bundle WHERE item_id = 725) )
AS bdl USING(bitstream_id) ;
bundle_id | bitstream_id | sequence_id
-----------+--------------+-------------
2300 | 3957 | 2
2300 | 3958 | 3
2300 | 3959 | 4
2306 | 3975 | 6
2298 | 3953 | 1
2299 | 3954 | 2
2299 | 3955 | 3
2299 | 3956 | 4
2301 | 3960 | 5
(9 rows)
If the sequence_id is supposed to be unique across all bundles within
an item then this is the problem and I need to get them straightened
out. If the sequence_id need be unique only within a bundle then the
code in makeManifest needs to be extended to create unique keys across
the whole item, probably by stuffing the bundle_id into the key
somewhere. Bitstream.java doesn't really say anything about the
sequence_id.
--
Mark H. Wood, Lead System Programmer [email protected]
Asking whether markets are efficient is like asking whether people are smart.
pgplRnMavpBrM.pgp
Description: PGP signature
------------------------------------------------------------------------------ The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________ Dspace-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-devel
