File tree Expand file tree Collapse file tree 1 file changed +15
-6
lines changed
tests/functional/aws-node-sdk/lib/utility Expand file tree Collapse file tree 1 file changed +15
-6
lines changed Original file line number Diff line number Diff line change @@ -88,38 +88,47 @@ class BucketUtility {
88
88
} ;
89
89
90
90
const listedObjects = await this . s3 . listObjectVersions ( param ) . promise ( ) ;
91
+ const objectToDeletePromises = [ ] ;
92
+ const directoryToDeletePromises = [ ] ;
93
+ const deleteMarkerToDeletePromises = [ ] ;
91
94
92
95
for ( const version of listedObjects . Versions ) {
93
96
if ( version . Key . endsWith ( '/' ) ) {
94
97
continue ;
95
98
}
96
99
97
- await this . s3 . deleteObject ( {
100
+ objectToDeletePromises . push ( this . s3 . deleteObject ( {
98
101
Bucket : bucketName ,
99
102
Key : version . Key ,
100
103
VersionId : version . VersionId ,
101
- } ) . promise ( ) ;
104
+ } ) . promise ( ) ) ;
102
105
}
103
106
107
+ await Promise . all ( objectToDeletePromises ) ;
108
+
104
109
for ( const version of listedObjects . Versions ) {
105
110
if ( ! version . Key . endsWith ( '/' ) ) {
106
111
continue ;
107
112
}
108
113
109
- await this . s3 . deleteObject ( {
114
+ directoryToDeletePromises . push ( this . s3 . deleteObject ( {
110
115
Bucket : bucketName ,
111
116
Key : version . Key ,
112
117
VersionId : version . VersionId ,
113
- } ) . promise ( ) ;
118
+ } ) . promise ( ) ) ;
114
119
}
115
120
121
+ await Promise . all ( directoryToDeletePromises ) ;
122
+
116
123
for ( const marker of listedObjects . DeleteMarkers ) {
117
- await this . s3 . deleteObject ( {
124
+ deleteMarkerToDeletePromises . push ( this . s3 . deleteObject ( {
118
125
Bucket : bucketName ,
119
126
Key : marker . Key ,
120
127
VersionId : marker . VersionId ,
121
- } ) . promise ( ) ;
128
+ } ) . promise ( ) ) ;
122
129
}
130
+
131
+ await Promise . all ( deleteMarkerToDeletePromises ) ;
123
132
}
124
133
125
134
emptyMany ( bucketNames ) {
You can’t perform that action at this time.
0 commit comments