-
Bug
-
Resolution: Fixed
-
Low
-
4.8.0, 4.8.8
-
None
-
Minor
-
Issue Summary
If a revision is committed with a smart commit message, the review that is created will only display 1 revision instead of the slider with the revision and its parent
Steps to Reproduce
- commit revision with a smart commit command to create (and start) a review
- ensure the revision is not fully indexed before the review is created
Expected Results
the review will be created with a slider for the revision and the parent
Actual Results
The review has one revision with no parent
The sequence of events can be seen in the Fisheye application logs:
review being created
2022-01-26 14:10:30,933 DEBUG [CommitNotifier1 ] fisheye AuditListener-updatedRevision - log fr update CR-8 secundus branches/release_1/secundus.rb 4
revision is indexed
2022-01-26 14:10:37,202 DEBUG [InitPing3 secundus ] fisheye Svn2Infill2Processor$1-perform - Adding CSID for innfilling: 4 2022-01-26 14:10:37,202 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn info -r 4 http://4f0eb883741c:18080/svn/secundus/branches/release_1/secundus.rb@4 2022-01-26 14:10:39,052 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:39,123 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:41,452 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn diff --summarize -r 3:4 http://4f0eb883741c:18080/svn/secundus/@4 2022-01-26 14:10:45,608 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:45,677 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing deleted paths for 4 mem_usage = 342285544 heapsize = 650117120 freemem = 307831576 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing deleted paths for 4 time 0 millis mem_usage = 342285544 heapsize = 650117120 freemem = 307831576 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing diff paths for 4 mem_usage = 342326560 heapsize = 650117120 freemem = 307790560 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -- Processing diff paths for 4 at Processing combined diff time 0 millis mem_usage = 342326560 heapsize = 650117120 freemem = 307790560 2022-01-26 14:10:49,384 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn diff -r 3:4 http://4f0eb883741c:18080/svn/secundus/branches/release_1@4 2022-01-26 14:10:50,389 DEBUG [qtp1221991240-503 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:50,455 DEBUG [qtp1221991240-503 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:59,221 DEBUG [qtp1221991240-473 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:59,287 DEBUG [qtp1221991240-473 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - -- Processing diff paths for 4 at Combined diff done time 10156 millis mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing diff paths for 4 time 10156 millis mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing diffs for 4 mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Processing change branches/release_1/secundus.rb 2022-01-26 14:10:59,540 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing diffs for 4 time 1 millis mem_usage = 429208408 heapsize = 650117120 freemem = 220908712 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye BaseRevisionCache-withDbWriteLock - Task Svn2Infill2Processor#process Committed for priority 40 total= 28625 ms (lock= 0 ms, task=28624 ms, commit=1 ms) 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye Svn2Infill2Processor-submitPipelineEntries - Adding 3 - 4 to pipeline 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-put - PartitionedChangeSetPhaseQueues.put ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'}, METADATA 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-updateRepoHead - current phase METADATA head = null 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-updateRepoHead - storing new phase head ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'} 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-withRetriableTransaction - Transaction_100000019 depth=0 status=<not running> completed, attempts = 1 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-put - PUT METADATA,ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'}, depth = 1 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-process - Started wrapup processing: startRevision=0, lastScannedCsid=4 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-process - While performing wrapup processing 3 is in state INFILLED - skipping 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Completing changesets 1 to 2 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Finalising changeset 1 2022-01-26 14:10:59,543 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Finalising changeset 2 2022-01-26 14:10:59,543 INFO [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-markIndexingComplete - Initial index of repository secundus is complete.
Workaround
Though the smart commit functionality will still be lacking the review it self can be salvaged by:
- removing the file and re-adding using the UI
- creating the review from the activity stream
[CRUC-8519] Using smart commits before the indexing of the associated revision completes results in a review with only one revision (no parent)
Remote Link | New: This issue links to "Page (Confluence)" [ 998211 ] |
Description |
Original:
h3. Issue Summary
If a revision is committed with a smart commit message, the review that is created will only display 1 revision instead of the slider with the revision and its parent h3. Steps to Reproduce # commit revision with a smart commit command to create (and start) a review # ensure the revision is not fully indexed before the review is created h3. Expected Results the review will be created with a slider for the revision and the parent h3. Actual Results The review has one revision with no parent !image-2022-01-28-10-45-55-937.png|thumbnail! The sequence of events can be seen in the Fisheye application logs: h4.review being created {code} 2022-01-26 14:10:30,933 DEBUG [CommitNotifier1 ] fisheye AuditListener-updatedRevision - log fr update CR-8 secundus branches/release_1/secundus.rb 4 {code} h4.revision is indexed {code} 2022-01-26 14:10:37,202 DEBUG [InitPing3 secundus ] fisheye Svn2Infill2Processor$1-perform - Adding CSID for innfilling: 4 2022-01-26 14:10:37,202 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn info -r 4 http://4f0eb883741c:18080/svn/secundus/branches/release_1/secundus.rb@4 2022-01-26 14:10:39,052 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:39,123 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:41,452 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn diff --summarize -r 3:4 http://4f0eb883741c:18080/svn/secundus/@4 2022-01-26 14:10:45,608 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:45,677 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing deleted paths for 4 mem_usage = 342285544 heapsize = 650117120 freemem = 307831576 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing deleted paths for 4 time 0 millis mem_usage = 342285544 heapsize = 650117120 freemem = 307831576 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing diff paths for 4 mem_usage = 342326560 heapsize = 650117120 freemem = 307790560 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -- Processing diff paths for 4 at Processing combined diff time 0 millis mem_usage = 342326560 heapsize = 650117120 freemem = 307790560 2022-01-26 14:10:49,384 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn diff -r 3:4 http://4f0eb883741c:18080/svn/secundus/branches/release_1@4 2022-01-26 14:10:50,389 DEBUG [qtp1221991240-503 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:50,455 DEBUG [qtp1221991240-503 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:59,221 DEBUG [qtp1221991240-473 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:59,287 DEBUG [qtp1221991240-473 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - -- Processing diff paths for 4 at Combined diff done time 10156 millis mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing diff paths for 4 time 10156 millis mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing diffs for 4 mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Processing change branches/release_1/secundus.rb 2022-01-26 14:10:59,540 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing diffs for 4 time 1 millis mem_usage = 429208408 heapsize = 650117120 freemem = 220908712 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye BaseRevisionCache-withDbWriteLock - Task Svn2Infill2Processor#process Committed for priority 40 total= 28625 ms (lock= 0 ms, task=28624 ms, commit=1 ms) 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye Svn2Infill2Processor-submitPipelineEntries - Adding 3 - 4 to pipeline 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-put - PartitionedChangeSetPhaseQueues.put ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'}, METADATA 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-updateRepoHead - current phase METADATA head = null 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-updateRepoHead - storing new phase head ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'} 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-withRetriableTransaction - Transaction_100000019 depth=0 status=<not running> completed, attempts = 1 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-put - PUT METADATA,ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'}, depth = 1 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-process - Started wrapup processing: startRevision=0, lastScannedCsid=4 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-process - While performing wrapup processing 3 is in state INFILLED - skipping 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Completing changesets 1 to 2 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Finalising changeset 1 2022-01-26 14:10:59,543 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Finalising changeset 2 2022-01-26 14:10:59,543 INFO [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-markIndexingComplete - Initial index of repository secundus is complete. {code} h3. Workaround Thought the smart commit functionality will still be lacking the review it self can be salvaged by: - removing the file and re-adding using the UI - creating the review from the activity stream |
New:
h3. Issue Summary
If a revision is committed with a smart commit message, the review that is created will only display 1 revision instead of the slider with the revision and its parent h3. Steps to Reproduce # commit revision with a smart commit command to create (and start) a review # ensure the revision is not fully indexed before the review is created h3. Expected Results the review will be created with a slider for the revision and the parent h3. Actual Results The review has one revision with no parent !image-2022-01-28-10-45-55-937.png|thumbnail! The sequence of events can be seen in the Fisheye application logs: h4.review being created {code} 2022-01-26 14:10:30,933 DEBUG [CommitNotifier1 ] fisheye AuditListener-updatedRevision - log fr update CR-8 secundus branches/release_1/secundus.rb 4 {code} h4.revision is indexed {code} 2022-01-26 14:10:37,202 DEBUG [InitPing3 secundus ] fisheye Svn2Infill2Processor$1-perform - Adding CSID for innfilling: 4 2022-01-26 14:10:37,202 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn info -r 4 http://4f0eb883741c:18080/svn/secundus/branches/release_1/secundus.rb@4 2022-01-26 14:10:39,052 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:39,123 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:41,452 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn diff --summarize -r 3:4 http://4f0eb883741c:18080/svn/secundus/@4 2022-01-26 14:10:45,608 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:45,677 DEBUG [qtp1221991240-536 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing deleted paths for 4 mem_usage = 342285544 heapsize = 650117120 freemem = 307831576 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing deleted paths for 4 time 0 millis mem_usage = 342285544 heapsize = 650117120 freemem = 307831576 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing diff paths for 4 mem_usage = 342326560 heapsize = 650117120 freemem = 307790560 2022-01-26 14:10:49,383 DEBUG [InitPing3 secundus ] fisheye Timer-output - -- Processing diff paths for 4 at Processing combined diff time 0 millis mem_usage = 342326560 heapsize = 650117120 freemem = 307790560 2022-01-26 14:10:49,384 DEBUG [SvnExecution13 secundus ] fisheye SvnTask$1-run - Executing (InitPing3 secundus) svn diff -r 3:4 http://4f0eb883741c:18080/svn/secundus/branches/release_1@4 2022-01-26 14:10:50,389 DEBUG [qtp1221991240-503 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:50,455 DEBUG [qtp1221991240-503 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:59,221 DEBUG [qtp1221991240-473 ] fisheye RepositoryHandle-acquire - acquire engine on secundus, count=2, waited 0 ms to acquire. 2022-01-26 14:10:59,287 DEBUG [qtp1221991240-473 ] fisheye RepositoryHandle-release - release engine on secundus, count=1 waited 0 ms to release 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - -- Processing diff paths for 4 at Combined diff done time 10156 millis mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing diff paths for 4 time 10156 millis mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye Timer-output - -> Processing diffs for 4 mem_usage = 429168376 heapsize = 650117120 freemem = 220948744 2022-01-26 14:10:59,539 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Processing change branches/release_1/secundus.rb 2022-01-26 14:10:59,540 DEBUG [InitPing3 secundus ] fisheye Timer-output - <- Processing diffs for 4 time 1 millis mem_usage = 429208408 heapsize = 650117120 freemem = 220908712 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye BaseRevisionCache-withDbWriteLock - Task Svn2Infill2Processor#process Committed for priority 40 total= 28625 ms (lock= 0 ms, task=28624 ms, commit=1 ms) 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye Svn2Infill2Processor-submitPipelineEntries - Adding 3 - 4 to pipeline 2022-01-26 14:10:59,541 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-put - PartitionedChangeSetPhaseQueues.put ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'}, METADATA 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-updateRepoHead - current phase METADATA head = null 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-updateRepoHead - storing new phase head ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'} 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-withRetriableTransaction - Transaction_100000019 depth=0 status=<not running> completed, attempts = 1 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye PartitionedChangeSetPhaseQueues-put - PUT METADATA,ChangeSetEntry{repository='secundus', timestamp=1643202585573, id='3-4'}, depth = 1 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-process - Started wrapup processing: startRevision=0, lastScannedCsid=4 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-process - While performing wrapup processing 3 is in state INFILLED - skipping 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Completing changesets 1 to 2 2022-01-26 14:10:59,542 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Finalising changeset 1 2022-01-26 14:10:59,543 DEBUG [InitPing3 secundus ] fisheye RepositoryStatus-setMessage - Status change [secundus]: Finalising changeset 2 2022-01-26 14:10:59,543 INFO [InitPing3 secundus ] fisheye Svn2WrapUpProcessor-markIndexingComplete - Initial index of repository secundus is complete. {code} h3. Workaround Though the smart commit functionality will still be lacking the review it self can be salvaged by: - removing the file and re-adding using the UI - creating the review from the activity stream |
Remote Link |
New:
This issue links to "Fisheye Crucible › A 4.8 › 4.8- |
Remote Link |
New:
This issue links to "Fisheye Crucible › A 4.8 › 4.8- |
Fix Version/s | Original: 4.8.12 [ 104008 ] | |
Fix Version/s | New: 4.8.11 [ 101909 ] |
Fix Version/s | Original: 4.8.11 [ 101909 ] | |
Fix Version/s | New: 4.8.12 [ 104008 ] |
Fix Version/s | New: 4.8.11 [ 101909 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: In Review [ 10051 ] | New: Closed [ 6 ] |
Worklog Id | Original: 169105 [ 169105 ] | |
Time Spent | Original: 7.15h [ 25740 ] | New: 14h 26m [ 51960 ] |
Worklog Id | Original: 169204 [ 169204 ] | |
Time Spent | Original: 7h 2m [ 25320 ] | New: 7.15h [ 25740 ] |