==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_27ebec07-c905-46fd-abb1-e7d9680d9325]...done ==> Making package: seaweedfs 3.96-1.1 (Mon Aug 4 12:25:03 2025) ==> Retrieving sources... -> Downloading seaweedfs-3.96.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 12957 0 12957 0 0 22685 0 --:--:-- --:--:-- --:--:-- 22685 100 3903k 0 3903k 0 0 2533k 0 --:--:-- 0:00:01 --:--:-- 4011k 100 8862k 0 8862k 0 0 3511k 0 --:--:-- 0:00:02 --:--:-- 4531k 100 13.3M 0 13.3M 0 0 3884k 0 --:--:-- 0:00:03 --:--:-- 4633k 100 18.9M 0 18.9M 0 0 4303k 0 --:--:-- 0:00:04 --:--:-- 4922k 100 24.6M 0 24.6M 0 0 4576k 0 --:--:-- 0:00:05 --:--:-- 5101k 100 29.9M 0 29.9M 0 0 4707k 0 --:--:-- 0:00:06 --:--:-- 5380k 100 35.9M 0 35.9M 0 0 4901k 0 --:--:-- 0:00:07 --:--:-- 5604k 100 37.0M 0 37.0M 0 0 4933k 0 --:--:-- 0:00:07 --:--:-- 5814k ==> Validating source files with sha256sums... seaweedfs-3.96.tar.gz ... Passed ==> Making package: seaweedfs 3.96-1.1 (Mon Aug 4 10:25:13 2025) ==> Checking runtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (1) New Version Net Change extra/mailcap 2.1.54-2 0.11 MiB Total Installed Size: 0.11 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mailcap... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (1) New Version Net Change extra/go 2:1.24.5-1 237.86 MiB Total Installed Size: 237.86 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing go... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Retrieving sources... -> Found seaweedfs-3.96.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Extracting seaweedfs-3.96.tar.gz with bsdtar ==> Starting prepare()... ==> Starting build()... ==> Starting check()... ? github.com/seaweedfs/seaweedfs/weed [no test files] ? github.com/seaweedfs/seaweedfs/weed/admin [no test files] === RUN TestApplyDefaults_WithEmbeddedStruct --- PASS: TestApplyDefaults_WithEmbeddedStruct (0.00s) === RUN TestApplyDefaults_PartiallySet --- PASS: TestApplyDefaults_PartiallySet (0.00s) === RUN TestApplyDefaults_NonPointer --- PASS: TestApplyDefaults_NonPointer (0.00s) === RUN TestApplyDefaults_NonStruct --- PASS: TestApplyDefaults_NonStruct (0.00s) === RUN TestApplyDefaults_EmptySchema --- PASS: TestApplyDefaults_EmptySchema (0.00s) === RUN TestApplyDefaults_MissingSchemaField --- PASS: TestApplyDefaults_MissingSchemaField (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/admin/config 0.001s ? github.com/seaweedfs/seaweedfs/weed/admin/dash [no test files] === RUN TestParseTaskConfigFromForm_WithEmbeddedStruct === RUN TestParseTaskConfigFromForm_WithEmbeddedStruct/Balance_Config === RUN TestParseTaskConfigFromForm_WithEmbeddedStruct/Vacuum_Config === RUN TestParseTaskConfigFromForm_WithEmbeddedStruct/Erasure_Coding_Config --- PASS: TestParseTaskConfigFromForm_WithEmbeddedStruct (0.00s) --- PASS: TestParseTaskConfigFromForm_WithEmbeddedStruct/Balance_Config (0.00s) --- PASS: TestParseTaskConfigFromForm_WithEmbeddedStruct/Vacuum_Config (0.00s) --- PASS: TestParseTaskConfigFromForm_WithEmbeddedStruct/Erasure_Coding_Config (0.00s) === RUN TestConfigurationValidation === RUN TestConfigurationValidation/balance === RUN TestConfigurationValidation/vacuum === RUN TestConfigurationValidation/erasure_coding --- PASS: TestConfigurationValidation (0.00s) --- PASS: TestConfigurationValidation/balance (0.00s) --- PASS: TestConfigurationValidation/vacuum (0.00s) --- PASS: TestConfigurationValidation/erasure_coding (0.00s) === RUN TestParseFieldFromForm_EdgeCases === RUN TestParseFieldFromForm_EdgeCases/Checkbox_Fields === RUN TestParseFieldFromForm_EdgeCases/Checkbox_Fields/Checked_checkbox === RUN TestParseFieldFromForm_EdgeCases/Checkbox_Fields/Unchecked_checkbox === RUN TestParseFieldFromForm_EdgeCases/Checkbox_Fields/Empty_value_checkbox === RUN TestParseFieldFromForm_EdgeCases/Interval_Fields === RUN TestParseFieldFromForm_EdgeCases/Interval_Fields/Minutes === RUN TestParseFieldFromForm_EdgeCases/Interval_Fields/Hours === RUN TestParseFieldFromForm_EdgeCases/Interval_Fields/Days --- PASS: TestParseFieldFromForm_EdgeCases (0.00s) --- PASS: TestParseFieldFromForm_EdgeCases/Checkbox_Fields (0.00s) --- PASS: TestParseFieldFromForm_EdgeCases/Checkbox_Fields/Checked_checkbox (0.00s) --- PASS: TestParseFieldFromForm_EdgeCases/Checkbox_Fields/Unchecked_checkbox (0.00s) --- PASS: TestParseFieldFromForm_EdgeCases/Checkbox_Fields/Empty_value_checkbox (0.00s) --- PASS: TestParseFieldFromForm_EdgeCases/Interval_Fields (0.00s) --- PASS: TestParseFieldFromForm_EdgeCases/Interval_Fields/Minutes (0.00s) --- PASS: TestParseFieldFromForm_EdgeCases/Interval_Fields/Hours (0.00s) --- PASS: TestParseFieldFromForm_EdgeCases/Interval_Fields/Days (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/admin/handlers 0.017s === RUN TestMaintenanceManager_ErrorHandling E0804 10:28:03.921364 maintenance_manager.go:343 Maintenance scan failed: dial tcp [::1]:19333: connect: connection refused (will retry with backoff) E0804 10:28:03.921835 maintenance_manager.go:345 Maintenance scan still failing after 2 attempts: dial tcp [::1]:19333: connect: connection refused (backoff: 2s) E0804 10:28:03.921845 maintenance_manager.go:345 Maintenance scan still failing after 3 attempts: dial tcp [::1]:19333: connect: connection refused (backoff: 4s) E0804 10:28:03.921847 maintenance_manager.go:345 Maintenance scan still failing after 6 attempts: dial tcp [::1]:19333: connect: connection refused (backoff: 32s) E0804 10:28:03.921849 maintenance_manager.go:345 Maintenance scan still failing after 9 attempts: dial tcp [::1]:19333: connect: connection refused (backoff: 4m16s) E0804 10:28:03.921850 maintenance_manager.go:345 Maintenance scan still failing after 10 attempts: dial tcp [::1]:19333: connect: connection refused (backoff: 5m0s) --- PASS: TestMaintenanceManager_ErrorHandling (0.00s) === RUN TestIsConnectionError --- PASS: TestIsConnectionError (0.00s) === RUN TestMaintenanceManager_GetErrorState E0804 10:28:03.921893 maintenance_manager.go:349 Maintenance scan failed: test error E0804 10:28:03.921895 maintenance_manager.go:349 Maintenance scan failed: test error --- PASS: TestMaintenanceManager_GetErrorState (0.00s) === RUN TestMaintenanceManager_LogThrottling E0804 10:28:03.921908 maintenance_manager.go:349 Maintenance scan failed: test error E0804 10:28:03.921910 maintenance_manager.go:349 Maintenance scan failed: test error E0804 10:28:03.921911 maintenance_manager.go:349 Maintenance scan failed: test error E0804 10:28:03.921912 maintenance_manager.go:349 Maintenance scan failed: test error E0804 10:28:03.921914 maintenance_manager.go:349 Maintenance scan failed: test error E0804 10:28:03.921915 maintenance_manager.go:349 Maintenance scan failed: test error E0804 10:28:03.921916 maintenance_manager.go:349 Maintenance scan failed: test error --- PASS: TestMaintenanceManager_LogThrottling (0.00s) === RUN TestCanScheduleTaskNow_FallbackLogic --- PASS: TestCanScheduleTaskNow_FallbackLogic (0.00s) === RUN TestCanScheduleTaskNow_FallbackWithRunningTasks --- PASS: TestCanScheduleTaskNow_FallbackWithRunningTasks (0.00s) === RUN TestCanScheduleTaskNow_DifferentTaskTypes --- PASS: TestCanScheduleTaskNow_DifferentTaskTypes (0.00s) === RUN TestCanScheduleTaskNow_WithIntegration --- PASS: TestCanScheduleTaskNow_WithIntegration (0.00s) === RUN TestGetRunningTaskCount --- PASS: TestGetRunningTaskCount (0.00s) === RUN TestCanExecuteTaskType --- PASS: TestCanExecuteTaskType (0.00s) === RUN TestGetMaxConcurrentForTaskType_DefaultBehavior --- PASS: TestGetMaxConcurrentForTaskType_DefaultBehavior (0.00s) === RUN TestCanScheduleTaskNow_NilTask --- PASS: TestCanScheduleTaskNow_NilTask (0.00s) === RUN TestCanScheduleTaskNow_EmptyTaskType --- PASS: TestCanScheduleTaskNow_EmptyTaskType (0.00s) === RUN TestCanScheduleTaskNow_WithPolicy --- PASS: TestCanScheduleTaskNow_WithPolicy (0.00s) === RUN TestPendingOperations_ConflictDetection --- PASS: TestPendingOperations_ConflictDetection (0.00s) === RUN TestPendingOperations_CapacityProjection --- PASS: TestPendingOperations_CapacityProjection (0.00s) === RUN TestPendingOperations_VolumeFiltering --- PASS: TestPendingOperations_VolumeFiltering (0.00s) === RUN TestPendingOperations_OperationLifecycle --- PASS: TestPendingOperations_OperationLifecycle (0.00s) === RUN TestPendingOperations_StaleCleanup W0804 10:28:03.922063 pending_operations.go:265 Removed stale pending operation: volume 301, task task-stale, age 24h0m0.000001522s --- PASS: TestPendingOperations_StaleCleanup (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/admin/maintenance 0.009s === RUN TestActiveTopologyBasicOperations --- PASS: TestActiveTopologyBasicOperations (0.00s) === RUN TestActiveTopologyUpdate --- PASS: TestActiveTopologyUpdate (0.00s) === RUN TestTaskLifecycle --- PASS: TestTaskLifecycle (0.00s) === RUN TestTaskDetectionScenarios === RUN TestTaskDetectionScenarios/Empty_cluster_-_no_tasks_needed === RUN TestTaskDetectionScenarios/Unbalanced_cluster_-_balance_task_needed === RUN TestTaskDetectionScenarios/High_garbage_ratio_-_vacuum_task_needed === RUN TestTaskDetectionScenarios/Large_volumes_-_EC_task_needed === RUN TestTaskDetectionScenarios/Recent_tasks_-_no_immediate_re-detection --- PASS: TestTaskDetectionScenarios (0.00s) --- PASS: TestTaskDetectionScenarios/Empty_cluster_-_no_tasks_needed (0.00s) --- PASS: TestTaskDetectionScenarios/Unbalanced_cluster_-_balance_task_needed (0.00s) --- PASS: TestTaskDetectionScenarios/High_garbage_ratio_-_vacuum_task_needed (0.00s) --- PASS: TestTaskDetectionScenarios/Large_volumes_-_EC_task_needed (0.00s) --- PASS: TestTaskDetectionScenarios/Recent_tasks_-_no_immediate_re-detection (0.00s) === RUN TestTargetSelectionScenarios === RUN TestTargetSelectionScenarios/Balance_task_-_find_least_loaded_disk === RUN TestTargetSelectionScenarios/EC_task_-_find_multiple_available_disks === RUN TestTargetSelectionScenarios/Vacuum_task_-_avoid_conflicting_disks --- PASS: TestTargetSelectionScenarios (0.00s) --- PASS: TestTargetSelectionScenarios/Balance_task_-_find_least_loaded_disk (0.00s) --- PASS: TestTargetSelectionScenarios/EC_task_-_find_multiple_available_disks (0.00s) --- PASS: TestTargetSelectionScenarios/Vacuum_task_-_avoid_conflicting_disks (0.00s) === RUN TestDiskLoadCalculation --- PASS: TestDiskLoadCalculation (0.00s) === RUN TestTaskConflictDetection --- PASS: TestTaskConflictDetection (0.00s) === RUN TestPublicInterfaces --- PASS: TestPublicInterfaces (0.00s) === RUN TestDestinationPlanning === RUN TestDestinationPlanning/Balance_destination_planning === RUN TestDestinationPlanning/EC_destination_planning === RUN TestDestinationPlanning/Destination_planning_considers_load === RUN TestDestinationPlanning/Handle_insufficient_destinations --- PASS: TestDestinationPlanning (0.00s) --- PASS: TestDestinationPlanning/Balance_destination_planning (0.00s) --- PASS: TestDestinationPlanning/EC_destination_planning (0.00s) --- PASS: TestDestinationPlanning/Destination_planning_considers_load (0.00s) --- PASS: TestDestinationPlanning/Handle_insufficient_destinations (0.00s) === RUN TestDestinationPlanningWithActiveTopology === RUN TestDestinationPlanningWithActiveTopology/Balance_task_with_destination === RUN TestDestinationPlanningWithActiveTopology/Task_state_affects_future_planning --- PASS: TestDestinationPlanningWithActiveTopology (0.00s) --- PASS: TestDestinationPlanningWithActiveTopology/Balance_task_with_destination (0.00s) --- PASS: TestDestinationPlanningWithActiveTopology/Task_state_affects_future_planning (0.00s) === RUN TestECDestinationPlanningDetailed === RUN TestECDestinationPlanningDetailed/EC_multiple_destinations === RUN TestECDestinationPlanningDetailed/EC_destination_planning_with_task_conflicts --- PASS: TestECDestinationPlanningDetailed (0.00s) --- PASS: TestECDestinationPlanningDetailed/EC_multiple_destinations (0.00s) --- PASS: TestECDestinationPlanningDetailed/EC_destination_planning_with_task_conflicts (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/admin/topology 0.003s === RUN TestGetTaskFieldValue_EmbeddedStructFields === RUN TestGetTaskFieldValue_EmbeddedStructFields/BaseConfig_boolean_field === RUN TestGetTaskFieldValue_EmbeddedStructFields/BaseConfig_integer_field === RUN TestGetTaskFieldValue_EmbeddedStructFields/BaseConfig_integer_field#01 === RUN TestGetTaskFieldValue_EmbeddedStructFields/Task-specific_float_field === RUN TestGetTaskFieldValue_EmbeddedStructFields/Task-specific_string_field --- PASS: TestGetTaskFieldValue_EmbeddedStructFields (0.00s) --- PASS: TestGetTaskFieldValue_EmbeddedStructFields/BaseConfig_boolean_field (0.00s) --- PASS: TestGetTaskFieldValue_EmbeddedStructFields/BaseConfig_integer_field (0.00s) --- PASS: TestGetTaskFieldValue_EmbeddedStructFields/BaseConfig_integer_field#01 (0.00s) --- PASS: TestGetTaskFieldValue_EmbeddedStructFields/Task-specific_float_field (0.00s) --- PASS: TestGetTaskFieldValue_EmbeddedStructFields/Task-specific_string_field (0.00s) === RUN TestGetTaskFieldValue_NonExistentField --- PASS: TestGetTaskFieldValue_NonExistentField (0.00s) === RUN TestGetTaskFieldValue_NilConfig --- PASS: TestGetTaskFieldValue_NilConfig (0.00s) === RUN TestGetTaskFieldValue_EmptyStruct === RUN TestGetTaskFieldValue_EmptyStruct/Zero_value_boolean === RUN TestGetTaskFieldValue_EmptyStruct/Zero_value_integer === RUN TestGetTaskFieldValue_EmptyStruct/Zero_value_integer#01 === RUN TestGetTaskFieldValue_EmptyStruct/Zero_value_float === RUN TestGetTaskFieldValue_EmptyStruct/Zero_value_string --- PASS: TestGetTaskFieldValue_EmptyStruct (0.00s) --- PASS: TestGetTaskFieldValue_EmptyStruct/Zero_value_boolean (0.00s) --- PASS: TestGetTaskFieldValue_EmptyStruct/Zero_value_integer (0.00s) --- PASS: TestGetTaskFieldValue_EmptyStruct/Zero_value_integer#01 (0.00s) --- PASS: TestGetTaskFieldValue_EmptyStruct/Zero_value_float (0.00s) --- PASS: TestGetTaskFieldValue_EmptyStruct/Zero_value_string (0.00s) === RUN TestGetTaskFieldValue_NonStructConfig --- PASS: TestGetTaskFieldValue_NonStructConfig (0.00s) === RUN TestGetTaskFieldValue_PointerToStruct --- PASS: TestGetTaskFieldValue_PointerToStruct (0.00s) === RUN TestGetTaskFieldValue_FieldsWithJSONOmitempty --- PASS: TestGetTaskFieldValue_FieldsWithJSONOmitempty (0.00s) === RUN TestGetTaskFieldValue_DeepEmbedding --- PASS: TestGetTaskFieldValue_DeepEmbedding (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/admin/view/app 0.015s ? github.com/seaweedfs/seaweedfs/weed/admin/view/components [no test files] ? github.com/seaweedfs/seaweedfs/weed/admin/view/layout [no test files] === RUN TestConcurrentAddRemoveNodes --- PASS: TestConcurrentAddRemoveNodes (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/cluster 0.005s === RUN TestAddServer I0804 10:28:03.918079 lock_ring.go:45 add server localhost:8080 I0804 10:28:03.918199 lock_ring.go:45 add server localhost:8081 I0804 10:28:03.918205 lock_ring.go:45 add server localhost:8082 I0804 10:28:03.918209 lock_ring.go:45 add server localhost:8083 I0804 10:28:03.918212 lock_ring.go:45 add server localhost:8084 I0804 10:28:03.918230 lock_ring.go:61 remove server localhost:8084 I0804 10:28:03.918234 lock_ring.go:61 remove server localhost:8082 I0804 10:28:03.918239 lock_ring.go:61 remove server localhost:8080 --- PASS: TestAddServer (0.21s) === RUN TestLockRing --- PASS: TestLockRing (0.22s) PASS ok github.com/seaweedfs/seaweedfs/weed/cluster/lock_manager 0.439s === RUN TestReadingTomlConfiguration database is map[connection_max:5000 enabled:true ports:[8001 8001 8002] server:192.168.1.1] servers is map[alpha:map[dc:eqdc10 ip:10.0.0.1] beta:map[dc:eqdc10 ip:10.0.0.2]] alpha ip is 10.0.0.1 --- PASS: TestReadingTomlConfiguration (0.00s) === RUN TestXYZ I0804 10:28:04.869520 volume_test.go:12 Last-Modified Mon, 08 Jul 2013 08:53:16 GMT --- PASS: TestXYZ (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/command 0.039s ? github.com/seaweedfs/seaweedfs/weed/command/scaffold [no test files] === RUN TestCredentialStoreInterface credential_test.go:15: No credential stores registered - this is expected when testing the base package without store imports --- SKIP: TestCredentialStoreInterface (0.00s) === RUN TestCredentialManagerCreation credential_test.go:66: No credential stores registered - skipping store-specific tests --- SKIP: TestCredentialManagerCreation (0.00s) === RUN TestCredentialInterface credential_test.go:95: No credential stores registered - for full testing see test/ package --- SKIP: TestCredentialInterface (0.00s) === RUN TestCredentialManagerIntegration credential_test.go:178: No credential stores registered - for full testing see test/ package --- SKIP: TestCredentialManagerIntegration (0.00s) === RUN TestErrorTypes --- PASS: TestErrorTypes (0.00s) === RUN TestGetAvailableStores credential_test.go:308: No stores available for testing --- SKIP: TestGetAvailableStores (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/credential 0.013s ? github.com/seaweedfs/seaweedfs/weed/credential/filer_etc [no test files] === RUN TestMemoryStore --- PASS: TestMemoryStore (0.00s) === RUN TestMemoryStoreConcurrency --- PASS: TestMemoryStoreConcurrency (0.00s) === RUN TestMemoryStoreReset --- PASS: TestMemoryStoreReset (0.00s) === RUN TestMemoryStoreConfigurationSaveLoad --- PASS: TestMemoryStoreConfigurationSaveLoad (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/credential/memory 0.016s ? github.com/seaweedfs/seaweedfs/weed/credential/postgres [no test files] === RUN TestStoreRegistration integration_test.go:40: Available stores: [memory postgres filer_etc] --- PASS: TestStoreRegistration (0.00s) === RUN TestMemoryStoreIntegration --- PASS: TestMemoryStoreIntegration (0.00s) === RUN TestPolicyManagement --- PASS: TestPolicyManagement (0.00s) === RUN TestPolicyManagementWithFilerEtc policy_test.go:140: Filer connection required for filer_etc store testing --- SKIP: TestPolicyManagementWithFilerEtc (0.00s) === RUN TestPolicyManagementWithPostgres policy_test.go:146: PostgreSQL connection required for postgres store testing --- SKIP: TestPolicyManagementWithPostgres (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/credential/test 0.016s === RUN TestChunkGroup_ReadDataAt_ErrorHandling === RUN TestChunkGroup_ReadDataAt_ErrorHandling/should_return_immediately_on_error === RUN TestChunkGroup_ReadDataAt_ErrorHandling/should_handle_EOF_correctly === RUN TestChunkGroup_ReadDataAt_ErrorHandling/should_return_EOF_when_offset_exceeds_file_size === RUN TestChunkGroup_ReadDataAt_ErrorHandling/should_demonstrate_the_GitHub_issue_fix_-_errors_should_not_be_masked --- PASS: TestChunkGroup_ReadDataAt_ErrorHandling (0.00s) --- PASS: TestChunkGroup_ReadDataAt_ErrorHandling/should_return_immediately_on_error (0.00s) --- PASS: TestChunkGroup_ReadDataAt_ErrorHandling/should_handle_EOF_correctly (0.00s) --- PASS: TestChunkGroup_ReadDataAt_ErrorHandling/should_return_EOF_when_offset_exceeds_file_size (0.00s) --- PASS: TestChunkGroup_ReadDataAt_ErrorHandling/should_demonstrate_the_GitHub_issue_fix_-_errors_should_not_be_masked (0.00s) === RUN TestChunkGroup_doSearchChunks --- PASS: TestChunkGroup_doSearchChunks (0.00s) === RUN TestDoMaybeManifestize test 0 test 1 test 2 test 3 --- PASS: TestDoMaybeManifestize (0.00s) === RUN Test_removeGarbageChunks --- PASS: Test_removeGarbageChunks (0.00s) === RUN TestDoMinusChunks 2025/08/04 10:28:04 first deleted chunks: [file_id:"1" size:3 modified_ts_ns:100 source_file_id:"11" file_id:"2" offset:3 size:3 modified_ts_ns:200 file_id:"3" offset:6 size:3 modified_ts_ns:300 source_file_id:"33"] 2025/08/04 10:28:04 clusterA synced empty chunks event result: [] --- PASS: TestDoMinusChunks (0.00s) === RUN TestCompactFileChunksRealCase I0804 10:28:04.852389 filechunks2_test.go:84 before chunk 2,512f31f2c0700a [ 0, 25) I0804 10:28:04.852522 filechunks2_test.go:84 before chunk 6,512f2c2e24e9e8 [ 868352, 917585) I0804 10:28:04.852525 filechunks2_test.go:84 before chunk 7,514468dd5954ca [ 884736, 901120) I0804 10:28:04.852527 filechunks2_test.go:84 before chunk 5,5144463173fe77 [ 917504, 2297856) I0804 10:28:04.852529 filechunks2_test.go:84 before chunk 4,51444c7ab54e2d [ 2301952, 2367488) I0804 10:28:04.852531 filechunks2_test.go:84 before chunk 4,514450e643ad22 [ 2371584, 2420736) I0804 10:28:04.852533 filechunks2_test.go:84 before chunk 6,514456a5e9e4d7 [ 2449408, 2490368) I0804 10:28:04.852534 filechunks2_test.go:84 before chunk 3,51444f8d53eebe [ 2494464, 2555904) I0804 10:28:04.852536 filechunks2_test.go:84 before chunk 4,5144578b097c7e [ 2560000, 2596864) I0804 10:28:04.852538 filechunks2_test.go:84 before chunk 3,51445500b6b4ac [ 2637824, 2678784) I0804 10:28:04.852540 filechunks2_test.go:84 before chunk 1,51446285e52a61 [ 2695168, 2715648) I0804 10:28:04.852553 filechunks2_test.go:84 compacted chunk 2,512f31f2c0700a [ 0, 25) I0804 10:28:04.852555 filechunks2_test.go:84 compacted chunk 6,512f2c2e24e9e8 [ 868352, 917585) I0804 10:28:04.852557 filechunks2_test.go:84 compacted chunk 7,514468dd5954ca [ 884736, 901120) I0804 10:28:04.852558 filechunks2_test.go:84 compacted chunk 5,5144463173fe77 [ 917504, 2297856) I0804 10:28:04.852560 filechunks2_test.go:84 compacted chunk 4,51444c7ab54e2d [ 2301952, 2367488) I0804 10:28:04.852561 filechunks2_test.go:84 compacted chunk 4,514450e643ad22 [ 2371584, 2420736) I0804 10:28:04.852563 filechunks2_test.go:84 compacted chunk 6,514456a5e9e4d7 [ 2449408, 2490368) I0804 10:28:04.852565 filechunks2_test.go:84 compacted chunk 3,51444f8d53eebe [ 2494464, 2555904) I0804 10:28:04.852566 filechunks2_test.go:84 compacted chunk 4,5144578b097c7e [ 2560000, 2596864) I0804 10:28:04.852573 filechunks2_test.go:84 compacted chunk 3,51445500b6b4ac [ 2637824, 2678784) I0804 10:28:04.852575 filechunks2_test.go:84 compacted chunk 1,51446285e52a61 [ 2695168, 2715648) --- PASS: TestCompactFileChunksRealCase (0.00s) === RUN TestReadResolvedChunks resolved to 4 visible intervales [0,50) a 1 [50,150) b 2 [175,275) e 5 [275,300) d 4 --- PASS: TestReadResolvedChunks (0.00s) === RUN TestReadResolvedChunks2 resolved to 2 visible intervales [200,225) e 5 [225,250) c 3 --- PASS: TestReadResolvedChunks2 (0.00s) === RUN TestRandomizedReadResolvedChunks --- PASS: TestRandomizedReadResolvedChunks (0.00s) === RUN TestSequentialReadResolvedChunks visibles 13--- PASS: TestSequentialReadResolvedChunks (0.00s) === RUN TestActualReadResolvedChunks [0,2097152) 5,e7b96fef48 1634447487595823000 [2097152,4194304) 5,e5562640b9 1634447487595826000 [4194304,6291456) 5,df033e0fe4 1634447487595827000 [6291456,8388608) 7,eb08148a9b 1634447487595827000 [8388608,10485760) 7,e0f92d1604 1634447487595828000 [10485760,12582912) 7,e33cb63262 1634447487595828000 [12582912,14680064) 5,ea98e40e93 1634447487595829000 [14680064,16777216) 5,e165661172 1634447487595829000 [16777216,18874368) 3,e692097486 1634447487595830000 [18874368,20971520) 3,e28e2e3cbd 1634447487595830000 [20971520,23068672) 3,e443974d4e 1634447487595830000 [23068672,25165824) 2,e815bed597 1634447487595831000 [25165824,27140560) 5,e94715199e 1634447487595832000 --- PASS: TestActualReadResolvedChunks (0.00s) === RUN TestActualReadResolvedChunks2 [0,184320) 1,e7b96fef48 1 [184320,188416) 2,33562640b9 4 [188416,2285568) 4,df033e0fe4 3 --- PASS: TestActualReadResolvedChunks2 (0.00s) === RUN TestCompactFileChunks --- PASS: TestCompactFileChunks (0.00s) === RUN TestCompactFileChunks2 --- PASS: TestCompactFileChunks2 (0.00s) === RUN TestRandomFileChunksCompact --- PASS: TestRandomFileChunksCompact (0.00s) === RUN TestIntervalMerging 2025/08/04 10:28:04 ++++++++++ merged test case 0 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 0, interval start=0, stop=100, fileId=abc 2025/08/04 10:28:04 test case 0, interval start=100, stop=200, fileId=asdf 2025/08/04 10:28:04 test case 0, interval start=200, stop=300, fileId=fsad 2025/08/04 10:28:04 ++++++++++ merged test case 1 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 1, interval start=0, stop=200, fileId=asdf 2025/08/04 10:28:04 ++++++++++ merged test case 2 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 2, interval start=0, stop=70, fileId=b 2025/08/04 10:28:04 test case 2, interval start=70, stop=100, fileId=a 2025/08/04 10:28:04 ++++++++++ merged test case 3 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 3, interval start=0, stop=50, fileId=asdf 2025/08/04 10:28:04 test case 3, interval start=50, stop=300, fileId=xxxx 2025/08/04 10:28:04 ++++++++++ merged test case 4 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 4, interval start=0, stop=200, fileId=asdf 2025/08/04 10:28:04 test case 4, interval start=250, stop=500, fileId=xxxx 2025/08/04 10:28:04 ++++++++++ merged test case 5 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 5, interval start=0, stop=200, fileId=d 2025/08/04 10:28:04 test case 5, interval start=200, stop=220, fileId=c 2025/08/04 10:28:04 ++++++++++ merged test case 6 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 6, interval start=0, stop=100, fileId=xyz 2025/08/04 10:28:04 ++++++++++ merged test case 7 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 7, interval start=0, stop=2097152, fileId=3,029565bf3092 2025/08/04 10:28:04 test case 7, interval start=2097152, stop=5242880, fileId=6,029632f47ae2 2025/08/04 10:28:04 test case 7, interval start=5242880, stop=8388608, fileId=2,029734c5aa10 2025/08/04 10:28:04 test case 7, interval start=8388608, stop=11534336, fileId=5,02982f80de50 2025/08/04 10:28:04 test case 7, interval start=11534336, stop=14376529, fileId=7,0299ad723803 2025/08/04 10:28:04 ++++++++++ merged test case 8 ++++++++++++++++++++ 2025/08/04 10:28:04 test case 8, interval start=0, stop=77824, fileId=4,0b3df938e301 2025/08/04 10:28:04 test case 8, interval start=77824, stop=208896, fileId=4,0b3f0c7202f0 2025/08/04 10:28:04 test case 8, interval start=208896, stop=339968, fileId=2,0b4031a72689 2025/08/04 10:28:04 test case 8, interval start=339968, stop=471040, fileId=3,0b416a557362 2025/08/04 10:28:04 test case 8, interval start=471040, stop=472225, fileId=6,0b3e0650019c --- PASS: TestIntervalMerging (0.00s) === RUN TestChunksReading 2025/08/04 10:28:04 ++++++++++ read test case 0 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 0, chunk 0, offset=0, size=100, fileId=abc 2025/08/04 10:28:04 read case 0, chunk 1, offset=0, size=100, fileId=asdf 2025/08/04 10:28:04 read case 0, chunk 2, offset=0, size=50, fileId=fsad 2025/08/04 10:28:04 ++++++++++ read test case 1 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 1, chunk 0, offset=50, size=100, fileId=asdf 2025/08/04 10:28:04 ++++++++++ read test case 2 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 2, chunk 0, offset=20, size=30, fileId=b 2025/08/04 10:28:04 read case 2, chunk 1, offset=57, size=10, fileId=a 2025/08/04 10:28:04 ++++++++++ read test case 3 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 3, chunk 0, offset=0, size=50, fileId=asdf 2025/08/04 10:28:04 read case 3, chunk 1, offset=0, size=150, fileId=xxxx 2025/08/04 10:28:04 ++++++++++ read test case 4 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 4, chunk 0, offset=0, size=200, fileId=asdf 2025/08/04 10:28:04 read case 4, chunk 1, offset=0, size=150, fileId=xxxx 2025/08/04 10:28:04 ++++++++++ read test case 5 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 5, chunk 0, offset=0, size=200, fileId=c 2025/08/04 10:28:04 read case 5, chunk 1, offset=130, size=20, fileId=b 2025/08/04 10:28:04 ++++++++++ read test case 6 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 6, chunk 0, offset=0, size=100, fileId=xyz 2025/08/04 10:28:04 ++++++++++ read test case 7 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 7, chunk 0, offset=0, size=100, fileId=abc 2025/08/04 10:28:04 read case 7, chunk 1, offset=0, size=100, fileId=asdf 2025/08/04 10:28:04 ++++++++++ read test case 8 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 8, chunk 0, offset=0, size=90, fileId=abc 2025/08/04 10:28:04 read case 8, chunk 1, offset=0, size=100, fileId=asdf 2025/08/04 10:28:04 read case 8, chunk 2, offset=0, size=110, fileId=fsad 2025/08/04 10:28:04 ++++++++++ read test case 9 ++++++++++++++++++++ 2025/08/04 10:28:04 read case 9, chunk 0, offset=0, size=43175936, fileId=2,111fc2cbfac1 2025/08/04 10:28:04 read case 9, chunk 1, offset=0, size=9805824, fileId=2,112a36ea7f85 2025/08/04 10:28:04 read case 9, chunk 2, offset=0, size=19582976, fileId=4,112d5f31c5e7 2025/08/04 10:28:04 read case 9, chunk 3, offset=0, size=60690432, fileId=1,113245f0cdb6 2025/08/04 10:28:04 read case 9, chunk 4, offset=0, size=4014080, fileId=3,1141a70733b5 2025/08/04 10:28:04 read case 9, chunk 5, offset=0, size=16309588, fileId=1,114201d5bbdb --- PASS: TestChunksReading (0.00s) === RUN TestViewFromVisibleIntervals --- PASS: TestViewFromVisibleIntervals (0.00s) === RUN TestViewFromVisibleIntervals2 --- PASS: TestViewFromVisibleIntervals2 (0.00s) === RUN TestViewFromVisibleIntervals3 --- PASS: TestViewFromVisibleIntervals3 (0.00s) === RUN TestCompactFileChunks3 --- PASS: TestCompactFileChunks3 (0.00s) === RUN TestFilerConf --- PASS: TestFilerConf (0.00s) === RUN TestProtoMarshal e to: 234,2423423422 * 2342342354223234,2342342342"# 0Ø: text/jsonP --- PASS: TestProtoMarshal (0.00s) === RUN TestIntervalList_Overlay [0,25) 6 6 [25,50) 1 1 [50,150) 2 2 [175,210) 5 5 [210,225) 3 3 [225,250) 4 4 [0,25) 6 6 [25,50) 1 1 [50,150) 7 7 [175,210) 5 5 [210,225) 3 3 [225,250) 4 4 --- PASS: TestIntervalList_Overlay (0.00s) === RUN TestIntervalList_Overlay2 [0,50) 2 2 [50,100) 1 1 --- PASS: TestIntervalList_Overlay2 (0.00s) === RUN TestIntervalList_Overlay3 [0,60) 2 2 [60,100) 1 1 --- PASS: TestIntervalList_Overlay3 (0.00s) === RUN TestIntervalList_Overlay4 [0,100) 2 2 --- PASS: TestIntervalList_Overlay4 (0.00s) === RUN TestIntervalList_Overlay5 [0,110) 2 2 --- PASS: TestIntervalList_Overlay5 (0.00s) === RUN TestIntervalList_Overlay6 [50,110) 2 2 --- PASS: TestIntervalList_Overlay6 (0.00s) === RUN TestIntervalList_Overlay7 [50,90) 2 2 [90,100) 1 1 --- PASS: TestIntervalList_Overlay7 (0.00s) === RUN TestIntervalList_Overlay8 [50,60) 1 1 [60,90) 2 2 [90,100) 1 1 --- PASS: TestIntervalList_Overlay8 (0.00s) === RUN TestIntervalList_Overlay9 [50,60) 1 1 [60,100) 2 2 --- PASS: TestIntervalList_Overlay9 (0.00s) === RUN TestIntervalList_Overlay10 [50,60) 1 1 [60,110) 2 2 --- PASS: TestIntervalList_Overlay10 (0.00s) === RUN TestIntervalList_Overlay11 [0,90) 5 5 [90,100) 1 1 [100,110) 2 2 --- PASS: TestIntervalList_Overlay11 (0.00s) === RUN TestIntervalList_insertInterval1 [50,150) 2 2 [200,250) 3 3 --- PASS: TestIntervalList_insertInterval1 (0.00s) === RUN TestIntervalList_insertInterval2 [0,25) 3 3 [50,150) 2 2 --- PASS: TestIntervalList_insertInterval2 (0.00s) === RUN TestIntervalList_insertInterval3 [0,75) 3 3 [75,150) 2 2 [200,250) 4 4 --- PASS: TestIntervalList_insertInterval3 (0.00s) === RUN TestIntervalList_insertInterval4 [0,200) 3 3 [200,250) 4 4 --- PASS: TestIntervalList_insertInterval4 (0.00s) === RUN TestIntervalList_insertInterval5 [0,225) 5 5 [225,250) 4 4 --- PASS: TestIntervalList_insertInterval5 (0.00s) === RUN TestIntervalList_insertInterval6 [0,50) 1 1 [50,150) 2 2 [150,200) 1 1 [200,250) 4 4 [250,275) 1 1 --- PASS: TestIntervalList_insertInterval6 (0.00s) === RUN TestIntervalList_insertInterval7 [50,150) 2 2 [150,200) 1 1 [200,250) 4 4 [250,275) 1 1 --- PASS: TestIntervalList_insertInterval7 (0.00s) === RUN TestIntervalList_insertInterval8 [50,75) 2 2 [75,200) 3 3 [200,250) 4 4 [250,275) 3 3 --- PASS: TestIntervalList_insertInterval8 (0.00s) === RUN TestIntervalList_insertInterval9 [50,150) 3 3 [200,250) 4 4 --- PASS: TestIntervalList_insertInterval9 (0.00s) === RUN TestIntervalList_insertInterval10 [50,100) 2 2 [100,200) 5 5 [200,300) 4 4 --- PASS: TestIntervalList_insertInterval10 (0.00s) === RUN TestIntervalList_insertInterval11 [0,64) 1 1 [64,68) 2 2 [68,72) 4 4 [72,136) 3 3 --- PASS: TestIntervalList_insertInterval11 (0.00s) === RUN TestIntervalList_insertIntervalStruct [0,64) 1 {1 0 0} [64,68) 4 {4 0 0} [68,72) 2 {2 0 0} [72,136) 3 {3 0 0} --- PASS: TestIntervalList_insertIntervalStruct (0.00s) === RUN TestReaderAt --- PASS: TestReaderAt (0.00s) === RUN TestReaderAt0 --- PASS: TestReaderAt0 (0.00s) === RUN TestReaderAt1 --- PASS: TestReaderAt1 (0.00s) === RUN TestReaderAtGappedChunksDoNotLeak --- PASS: TestReaderAtGappedChunksDoNotLeak (0.00s) === RUN TestReaderAtSparseFileDoesNotLeak --- PASS: TestReaderAtSparseFileDoesNotLeak (0.00s) === RUN TestFilerRemoteStorage_FindRemoteStorageClient --- PASS: TestFilerRemoteStorage_FindRemoteStorageClient (0.00s) === RUN TestS3Conf --- PASS: TestS3Conf (0.00s) === RUN TestCheckDuplicateAccessKey --- PASS: TestCheckDuplicateAccessKey (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/filer 0.021s ? github.com/seaweedfs/seaweedfs/weed/filer/abstract_sql [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/arangodb [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/cassandra [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/cassandra2 [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/elastic/v7 [no test files] === RUN TestStore --- PASS: TestStore (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/filer/etcd 0.036s ? github.com/seaweedfs/seaweedfs/weed/filer/hbase [no test files] === RUN TestCreateAndFind I0804 10:28:05.130535 leveldb_store.go:48 filer store dir: /tmp/TestCreateAndFind3158121165/001 I0804 10:28:05.130735 file_util.go:27 Folder /tmp/TestCreateAndFind3158121165/001 Permission: -rwxr-xr-x I0804 10:28:05.131224 filer.go:155 create filer.store.id to 784862016 --- PASS: TestCreateAndFind (0.03s) === RUN TestEmptyRoot I0804 10:28:05.133936 leveldb_store.go:48 filer store dir: /tmp/TestEmptyRoot1442564073/001 I0804 10:28:05.133956 file_util.go:27 Folder /tmp/TestEmptyRoot1442564073/001 Permission: -rwxr-xr-x I0804 10:28:05.134437 filer.go:155 create filer.store.id to 969645306 --- PASS: TestEmptyRoot (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/filer/leveldb 0.048s === RUN TestCreateAndFind I0804 10:28:05.345983 leveldb2_store.go:43 filer store leveldb2 dir: /tmp/TestCreateAndFind4245223132/001 I0804 10:28:05.346393 file_util.go:27 Folder /tmp/TestCreateAndFind4245223132/001 Permission: -rwxr-xr-x I0804 10:28:05.347062 filer.go:155 create filer.store.id to 1286516507 --- PASS: TestCreateAndFind (0.02s) === RUN TestEmptyRoot I0804 10:28:05.352025 leveldb2_store.go:43 filer store leveldb2 dir: /tmp/TestEmptyRoot1924367884/001 I0804 10:28:05.352045 file_util.go:27 Folder /tmp/TestEmptyRoot1924367884/001 Permission: -rwxr-xr-x I0804 10:28:05.352837 filer.go:155 create filer.store.id to 352046556 --- PASS: TestEmptyRoot (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/filer/leveldb2 0.040s === RUN TestCreateAndFind I0804 10:28:06.053979 leveldb3_store.go:50 filer store leveldb3 dir: /tmp/TestCreateAndFind97336912/001 I0804 10:28:06.054184 file_util.go:27 Folder /tmp/TestCreateAndFind97336912/001 Permission: -rwxr-xr-x I0804 10:28:06.054749 filer.go:155 create filer.store.id to -894480616 --- PASS: TestCreateAndFind (0.02s) === RUN TestEmptyRoot I0804 10:28:06.062675 leveldb3_store.go:50 filer store leveldb3 dir: /tmp/TestEmptyRoot86364394/001 I0804 10:28:06.062697 file_util.go:27 Folder /tmp/TestEmptyRoot86364394/001 Permission: -rwxr-xr-x I0804 10:28:06.063318 filer.go:155 create filer.store.id to -127194622 --- PASS: TestEmptyRoot (0.01s) PASS ok github.com/seaweedfs/seaweedfs/weed/filer/leveldb3 0.056s ? github.com/seaweedfs/seaweedfs/weed/filer/mongodb [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/mysql [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/mysql2 [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/postgres [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/postgres2 [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/redis [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/redis2 [no test files] testing: warning: no tests to run PASS ok github.com/seaweedfs/seaweedfs/weed/filer/redis3 0.030s [no tests to run] ? github.com/seaweedfs/seaweedfs/weed/filer/redis_lua [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/redis_lua/stored_procedure [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/sqlite [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/store_test [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/tarantool [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/tikv [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer/ydb [no test files] ? github.com/seaweedfs/seaweedfs/weed/filer_client [no test files] === RUN TestShortHostname --- PASS: TestShortHostname (0.00s) === RUN TestInfo I0804 10:28:06.749476 glog_test.go:92 test --- PASS: TestInfo (0.00s) === RUN TestInfoDepth I0804 10:28:06.749552 glog_test.go:109 depth-test0 I0804 10:28:06.749554 glog_test.go:110 depth-test1 --- PASS: TestInfoDepth (0.00s) === RUN TestCopyStandardLogToPanic --- PASS: TestCopyStandardLogToPanic (0.00s) === RUN TestStandardLog I0804 10:28:06.749595 glog_test.go:163 test --- PASS: TestStandardLog (0.00s) === RUN TestHeader I0102 15:04:05.067890 glog_test.go:181 test --- PASS: TestHeader (0.00s) === RUN TestError E0804 10:28:06.749633 glog_test.go:202 test --- PASS: TestError (0.00s) === RUN TestWarning W0804 10:28:06.749645 glog_test.go:224 test --- PASS: TestWarning (0.00s) === RUN TestV I0804 10:28:06.749656 glog_test.go:243 test --- PASS: TestV (0.00s) === RUN TestVmoduleOn I0804 10:28:06.749676 glog_test.go:267 test --- PASS: TestVmoduleOn (0.00s) === RUN TestVmoduleOff --- PASS: TestVmoduleOff (0.00s) === RUN TestVmoduleGlob --- PASS: TestVmoduleGlob (0.00s) === RUN TestRollover I0804 10:28:06.749728 glog_test.go:339 x I0804 10:28:06.749996 glog_test.go:348 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx I0804 10:28:07.753604 glog_test.go:361 x --- PASS: TestRollover (1.00s) === RUN TestLogBacktraceAt I0804 10:28:07.753863 glog_test.go:395 we want a stack trace here goroutine 34 [running]: github.com/seaweedfs/seaweedfs/weed/glog.stacks(0x0) /startdir/src/seaweedfs-3.96/weed/glog/glog.go:768 +0x85 github.com/seaweedfs/seaweedfs/weed/glog.(*loggingT).output(0x8450a0, 0x0, 0xc000284000, {0x6ec86e?, 0x1?}, 0x0?, 0x0) /startdir/src/seaweedfs-3.96/weed/glog/glog.go:677 +0xe5 github.com/seaweedfs/seaweedfs/weed/glog.(*loggingT).printDepth(0x8450a0, 0x0, 0xc000090e90?, {0xc000090e30, 0x1, 0x1}) /startdir/src/seaweedfs-3.96/weed/glog/glog.go:648 +0xea github.com/seaweedfs/seaweedfs/weed/glog.(*loggingT).print(...) /startdir/src/seaweedfs-3.96/weed/glog/glog.go:639 github.com/seaweedfs/seaweedfs/weed/glog.Info(...) /startdir/src/seaweedfs-3.96/weed/glog/glog.go:1061 github.com/seaweedfs/seaweedfs/weed/glog.TestLogBacktraceAt(0xc0002b6000) /startdir/src/seaweedfs-3.96/weed/glog/glog_test.go:395 +0x438 testing.tRunner(0xc0002b6000, 0x663090) /usr/lib/go/src/testing/testing.go:1792 +0xf4 created by testing.(*T).Run in goroutine 1 /usr/lib/go/src/testing/testing.go:1851 +0x413 --- PASS: TestLogBacktraceAt (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/glog 1.015s === RUN TestGetActionsUserPath --- PASS: TestGetActionsUserPath (0.00s) === RUN TestGetActionsWildcardPath --- PASS: TestGetActionsWildcardPath (0.00s) === RUN TestGetActionsInvalidAction --- PASS: TestGetActionsInvalidAction (0.00s) === RUN TestCreateUser --- PASS: TestCreateUser (0.00s) === RUN TestListUsers --- PASS: TestListUsers (0.00s) === RUN TestListAccessKeys --- PASS: TestListAccessKeys (0.00s) === RUN TestGetUser --- PASS: TestGetUser (0.00s) === RUN TestCreatePolicy --- PASS: TestCreatePolicy (0.00s) === RUN TestPutUserPolicy --- PASS: TestPutUserPolicy (0.00s) === RUN TestPutUserPolicyError E0804 10:28:08.175980 iamapi_management_handlers.go:498 PutUserPolicy: the user with name InvalidUser cannot be found E0804 10:28:08.176262 iamapi_handlers.go:29 Response the user with name InvalidUser cannot be found --- PASS: TestPutUserPolicyError (0.00s) === RUN TestGetUserPolicy --- PASS: TestGetUserPolicy (0.00s) === RUN TestUpdateUser --- PASS: TestUpdateUser (0.00s) === RUN TestDeleteUser --- PASS: TestDeleteUser (0.00s) === RUN TestHandleImplicitUsername --- PASS: TestHandleImplicitUsername (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/iamapi 0.046s === RUN TestCropping --- PASS: TestCropping (0.15s) === RUN TestXYZ --- PASS: TestXYZ (0.62s) === RUN TestResizing --- PASS: TestResizing (0.05s) PASS ok github.com/seaweedfs/seaweedfs/weed/images 0.836s === RUN TestInodeEntry_removeOnePath === RUN TestInodeEntry_removeOnePath/actual_case === RUN TestInodeEntry_removeOnePath/empty === RUN TestInodeEntry_removeOnePath/single === RUN TestInodeEntry_removeOnePath/first === RUN TestInodeEntry_removeOnePath/middle === RUN TestInodeEntry_removeOnePath/last === RUN TestInodeEntry_removeOnePath/not_found --- PASS: TestInodeEntry_removeOnePath (0.00s) --- PASS: TestInodeEntry_removeOnePath/actual_case (0.00s) --- PASS: TestInodeEntry_removeOnePath/empty (0.00s) --- PASS: TestInodeEntry_removeOnePath/single (0.00s) --- PASS: TestInodeEntry_removeOnePath/first (0.00s) --- PASS: TestInodeEntry_removeOnePath/middle (0.00s) --- PASS: TestInodeEntry_removeOnePath/last (0.00s) --- PASS: TestInodeEntry_removeOnePath/not_found (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/mount 0.031s ? github.com/seaweedfs/seaweedfs/weed/mount/meta_cache [no test files] === RUN Test_PageChunkWrittenIntervalList --- PASS: Test_PageChunkWrittenIntervalList (0.00s) === RUN Test_PageChunkWrittenIntervalList1 --- PASS: Test_PageChunkWrittenIntervalList1 (0.00s) === RUN TestUploadPipeline --- PASS: TestUploadPipeline (22.45s) PASS ok github.com/seaweedfs/seaweedfs/weed/mount/page_writer 22.453s ? github.com/seaweedfs/seaweedfs/weed/mount/unmount [no test files] ? github.com/seaweedfs/seaweedfs/weed/mq/agent [no test files] ? github.com/seaweedfs/seaweedfs/weed/mq/broker [no test files] ? github.com/seaweedfs/seaweedfs/weed/mq/client/agent_client [no test files] ? github.com/seaweedfs/seaweedfs/weed/mq/client/pub_client [no test files] ? github.com/seaweedfs/seaweedfs/weed/mq/client/sub_client [no test files] ? github.com/seaweedfs/seaweedfs/weed/mq/logstore [no test files] === RUN Test_allocateOneBroker === RUN Test_allocateOneBroker/test_only_one_broker I0804 10:28:08.700443 allocate.go:81 EnsureAssignmentsToActiveBrokers: activeBrokers: 1, followerCount: 1, assignments: [partition:{ring_size:2520 range_stop:2520 unix_time_ns:1754303288700430502}] I0804 10:28:08.700911 allocate.go:125 EnsureAssignmentsToActiveBrokers: activeBrokers: 1, followerCount: 1, assignments: [partition:{ring_size:2520 range_stop:2520 unix_time_ns:1754303288700430502} leader_broker:"localhost:17777"] hasChanges: true I0804 10:28:08.700922 allocate.go:33 allocate topic partitions 1: [partition:{ring_size:2520 range_stop:2520 unix_time_ns:1754303288700430502} leader_broker:"localhost:17777"] --- PASS: Test_allocateOneBroker (0.00s) --- PASS: Test_allocateOneBroker/test_only_one_broker (0.00s) === RUN TestEnsureAssignmentsToActiveBrokersX === RUN TestEnsureAssignmentsToActiveBrokersX/test_empty_leader test empty leader before [partition:{} follower_broker:"localhost:2"] I0804 10:28:08.701014 allocate.go:81 EnsureAssignmentsToActiveBrokers: activeBrokers: 6, followerCount: 1, assignments: [partition:{} follower_broker:"localhost:2"] I0804 10:28:08.701040 allocate.go:125 EnsureAssignmentsToActiveBrokers: activeBrokers: 6, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] hasChanges: true test empty leader after [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] === RUN TestEnsureAssignmentsToActiveBrokersX/test_empty_follower test empty follower before [partition:{} leader_broker:"localhost:1"] I0804 10:28:08.701063 allocate.go:81 EnsureAssignmentsToActiveBrokers: activeBrokers: 6, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:1"] I0804 10:28:08.701107 allocate.go:125 EnsureAssignmentsToActiveBrokers: activeBrokers: 6, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:4"] hasChanges: true test empty follower after [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:4"] === RUN TestEnsureAssignmentsToActiveBrokersX/test_dead_follower test dead follower before [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:200"] I0804 10:28:08.701131 allocate.go:81 EnsureAssignmentsToActiveBrokers: activeBrokers: 6, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:200"] I0804 10:28:08.701160 allocate.go:125 EnsureAssignmentsToActiveBrokers: activeBrokers: 6, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:4"] hasChanges: true test dead follower after [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:4"] === RUN TestEnsureAssignmentsToActiveBrokersX/test_dead_leader_and_follower test dead leader and follower before [partition:{} leader_broker:"localhost:100" follower_broker:"localhost:200"] I0804 10:28:08.701336 allocate.go:81 EnsureAssignmentsToActiveBrokers: activeBrokers: 6, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:100" follower_broker:"localhost:200"] I0804 10:28:08.701370 allocate.go:125 EnsureAssignmentsToActiveBrokers: activeBrokers: 6, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:3" follower_broker:"localhost:1"] hasChanges: true test dead leader and follower after [partition:{} leader_broker:"localhost:3" follower_broker:"localhost:1"] === RUN TestEnsureAssignmentsToActiveBrokersX/test_low_active_brokers test low active brokers before [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] I0804 10:28:08.701395 allocate.go:81 EnsureAssignmentsToActiveBrokers: activeBrokers: 2, followerCount: 3, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] I0804 10:28:08.701420 allocate.go:125 EnsureAssignmentsToActiveBrokers: activeBrokers: 2, followerCount: 3, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] hasChanges: false test low active brokers after [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] === RUN TestEnsureAssignmentsToActiveBrokersX/test_low_active_brokers_with_one_follower test low active brokers with one follower before [partition:{} leader_broker:"localhost:1"] I0804 10:28:08.701443 allocate.go:81 EnsureAssignmentsToActiveBrokers: activeBrokers: 2, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:1"] I0804 10:28:08.701465 allocate.go:125 EnsureAssignmentsToActiveBrokers: activeBrokers: 2, followerCount: 1, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] hasChanges: true test low active brokers with one follower after [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] === RUN TestEnsureAssignmentsToActiveBrokersX/test_single_active_broker test single active broker before [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] I0804 10:28:08.701486 allocate.go:81 EnsureAssignmentsToActiveBrokers: activeBrokers: 1, followerCount: 3, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:2"] I0804 10:28:08.701509 allocate.go:125 EnsureAssignmentsToActiveBrokers: activeBrokers: 1, followerCount: 3, assignments: [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:1"] hasChanges: true test single active broker after [partition:{} leader_broker:"localhost:1" follower_broker:"localhost:1"] --- PASS: TestEnsureAssignmentsToActiveBrokersX (0.00s) --- PASS: TestEnsureAssignmentsToActiveBrokersX/test_empty_leader (0.00s) --- PASS: TestEnsureAssignmentsToActiveBrokersX/test_empty_follower (0.00s) --- PASS: TestEnsureAssignmentsToActiveBrokersX/test_dead_follower (0.00s) --- PASS: TestEnsureAssignmentsToActiveBrokersX/test_dead_leader_and_follower (0.00s) --- PASS: TestEnsureAssignmentsToActiveBrokersX/test_low_active_brokers (0.00s) --- PASS: TestEnsureAssignmentsToActiveBrokersX/test_low_active_brokers_with_one_follower (0.00s) --- PASS: TestEnsureAssignmentsToActiveBrokersX/test_single_active_broker (0.00s) === RUN TestBalanceTopicPartitionOnBrokers === RUN TestBalanceTopicPartitionOnBrokers/test --- PASS: TestBalanceTopicPartitionOnBrokers (0.00s) --- PASS: TestBalanceTopicPartitionOnBrokers/test (0.00s) === RUN Test_findMissingPartitions === RUN Test_findMissingPartitions/one_partition === RUN Test_findMissingPartitions/two_partitions === RUN Test_findMissingPartitions/four_partitions,_missing_last_two === RUN Test_findMissingPartitions/four_partitions,_missing_first_two === RUN Test_findMissingPartitions/four_partitions,_missing_middle_two === RUN Test_findMissingPartitions/four_partitions,_missing_three --- PASS: Test_findMissingPartitions (0.00s) --- PASS: Test_findMissingPartitions/one_partition (0.00s) --- PASS: Test_findMissingPartitions/two_partitions (0.00s) --- PASS: Test_findMissingPartitions/four_partitions,_missing_last_two (0.00s) --- PASS: Test_findMissingPartitions/four_partitions,_missing_first_two (0.00s) --- PASS: Test_findMissingPartitions/four_partitions,_missing_middle_two (0.00s) --- PASS: Test_findMissingPartitions/four_partitions,_missing_three (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/mq/pub_balancer 0.030s === RUN TestEnumScalarType === RUN TestEnumScalarType/Boolean === RUN TestEnumScalarType/Integer === RUN TestEnumScalarType/Long === RUN TestEnumScalarType/Float === RUN TestEnumScalarType/Double === RUN TestEnumScalarType/Bytes === RUN TestEnumScalarType/String --- PASS: TestEnumScalarType (0.00s) --- PASS: TestEnumScalarType/Boolean (0.00s) --- PASS: TestEnumScalarType/Integer (0.00s) --- PASS: TestEnumScalarType/Long (0.00s) --- PASS: TestEnumScalarType/Float (0.00s) --- PASS: TestEnumScalarType/Double (0.00s) --- PASS: TestEnumScalarType/Bytes (0.00s) --- PASS: TestEnumScalarType/String (0.00s) === RUN TestField --- PASS: TestField (0.00s) === RUN TestRecordType fields: < name: "field_key" field_index: 1 type: < scalar_type: INT32 > > fields: < name: "field_record" field_index: 2 type: < record_type: < fields: < name: "field_1" field_index: 1 type: < scalar_type: INT32 > > fields: < name: "field_2" field_index: 2 type: < scalar_type: STRING > > > > > {"fields":[{"name":"field_key","field_index":1,"type":{"Kind":{"ScalarType":1}}},{"name":"field_record","field_index":2,"type":{"Kind":{"RecordType":{"fields":[{"name":"field_1","field_index":1,"type":{"Kind":{"ScalarType":1}}},{"name":"field_2","field_index":2,"type":{"Kind":{"ScalarType":7}}}]}}}}]} --- PASS: TestRecordType (0.00s) === RUN TestStructToSchema === RUN TestStructToSchema/scalar_type === RUN TestStructToSchema/simple_struct_type === RUN TestStructToSchema/simple_list === RUN TestStructToSchema/simple_[]byte === RUN TestStructToSchema/nested_simpe_structs === RUN TestStructToSchema/nested_struct_type --- PASS: TestStructToSchema (0.00s) --- PASS: TestStructToSchema/scalar_type (0.00s) --- PASS: TestStructToSchema/simple_struct_type (0.00s) --- PASS: TestStructToSchema/simple_list (0.00s) --- PASS: TestStructToSchema/simple_[]byte (0.00s) --- PASS: TestStructToSchema/nested_simpe_structs (0.00s) --- PASS: TestStructToSchema/nested_struct_type (0.00s) === RUN TestToParquetLevels === RUN TestToParquetLevels/nested_type --- PASS: TestToParquetLevels (0.00s) --- PASS: TestToParquetLevels/nested_type (0.00s) === RUN TestWriteReadParquet RecordType: fields:{name:"Address" type:{record_type:{fields:{name:"City" type:{scalar_type:STRING}} fields:{name:"Street" type:{scalar_type:STRING}}}}} fields:{name:"Company" type:{scalar_type:STRING}} fields:{name:"CreatedAt" type:{scalar_type:INT64}} fields:{name:"ID" type:{scalar_type:INT64}} fields:{name:"Person" type:{record_type:{fields:{name:"emails" type:{list_type:{element_type:{scalar_type:STRING}}}} fields:{name:"zName" type:{scalar_type:STRING}}}}} ParquetSchema: message example { optional group Address { optional binary City; optional binary Street; } optional binary Company; optional int64 CreatedAt (INT(64,true)); optional int64 ID (INT(64,true)); optional group Person { repeated binary emails; optional binary zName; } } Go Type: struct { Address *struct { City *[]uint8; Street *[]uint8 }; Company *[]uint8; CreatedAt *int64; ID *int64; Person *struct { Emails []*[]uint8; ZName *[]uint8 } } Write RecordValue: fields:{key:"Company" value:{string_value:"company_0"}} fields:{key:"CreatedAt" value:{int64_value:2}} fields:{key:"ID" value:{int64_value:1}} fields:{key:"Person" value:{record_value:{fields:{key:"emails" value:{list_value:{values:{string_value:"john_0@a.com"} values:{string_value:"john_0@b.com"} values:{string_value:"john_0@c.com"} values:{string_value:"john_0@d.com"} values:{string_value:"john_0@e.com"}}}} fields:{key:"zName" value:{string_value:"john_0"}}}}} Build Row: [C:0 D:0 R:0 V: C:1 D:0 R:0 V: C:2 D:1 R:0 V:company_0 C:3 D:1 R:0 V:2 C:4 D:1 R:0 V:1 C:5 D:2 R:0 V:john_0@a.com C:5 D:2 R:1 V:john_0@b.com C:5 D:2 R:1 V:john_0@c.com C:5 D:2 R:1 V:john_0@d.com C:5 D:2 R:1 V:john_0@e.com C:6 D:2 R:0 V:john_0] Write RecordValue: fields:{key:"Company" value:{string_value:"company_1"}} fields:{key:"CreatedAt" value:{int64_value:4}} fields:{key:"ID" value:{int64_value:2}} fields:{key:"Person" value:{record_value:{fields:{key:"emails" value:{list_value:{values:{string_value:"john_1@a.com"} values:{string_value:"john_1@b.com"} values:{string_value:"john_1@c.com"} values:{string_value:"john_1@d.com"} values:{string_value:"john_1@e.com"}}}} fields:{key:"zName" value:{string_value:"john_1"}}}}} Build Row: [C:0 D:0 R:0 V: C:1 D:0 R:0 V: C:2 D:1 R:0 V:company_1 C:3 D:1 R:0 V:4 C:4 D:1 R:0 V:2 C:5 D:2 R:0 V:john_1@a.com C:5 D:2 R:1 V:john_1@b.com C:5 D:2 R:1 V:john_1@c.com C:5 D:2 R:1 V:john_1@d.com C:5 D:2 R:1 V:john_1@e.com C:6 D:2 R:0 V:john_1] Write RecordValue: fields:{key:"Company" value:{string_value:"company_2"}} fields:{key:"CreatedAt" value:{int64_value:6}} fields:{key:"ID" value:{int64_value:3}} fields:{key:"Person" value:{record_value:{fields:{key:"emails" value:{list_value:{values:{string_value:"john_2@a.com"} values:{string_value:"john_2@b.com"} values:{string_value:"john_2@c.com"} values:{string_value:"john_2@d.com"} values:{string_value:"john_2@e.com"}}}} fields:{key:"zName" value:{string_value:"john_2"}}}}} Build Row: [C:0 D:0 R:0 V: C:1 D:0 R:0 V: C:2 D:1 R:0 V:company_2 C:3 D:1 R:0 V:6 C:4 D:1 R:0 V:3 C:5 D:2 R:0 V:john_2@a.com C:5 D:2 R:1 V:john_2@b.com C:5 D:2 R:1 V:john_2@c.com C:5 D:2 R:1 V:john_2@d.com C:5 D:2 R:1 V:john_2@e.com C:6 D:2 R:0 V:john_2] Read RecordValue: fields:{key:"Address" value:{record_value:{fields:{key:"City" value:{string_value:""}} fields:{key:"Street" value:{string_value:""}}}}} fields:{key:"Company" value:{string_value:"company_0"}} fields:{key:"CreatedAt" value:{int64_value:2}} fields:{key:"ID" value:{int64_value:1}} fields:{key:"Person" value:{record_value:{fields:{key:"emails" value:{list_value:{values:{string_value:"john_0@a.com"} values:{string_value:"john_0@b.com"} values:{string_value:"john_0@c.com"} values:{string_value:"john_0@d.com"} values:{string_value:"john_0@e.com"}}}} fields:{key:"zName" value:{string_value:"john_0"}}}}} Read RecordValue: fields:{key:"Address" value:{record_value:{fields:{key:"City" value:{string_value:""}} fields:{key:"Street" value:{string_value:""}}}}} fields:{key:"Company" value:{string_value:"company_1"}} fields:{key:"CreatedAt" value:{int64_value:4}} fields:{key:"ID" value:{int64_value:2}} fields:{key:"Person" value:{record_value:{fields:{key:"emails" value:{list_value:{values:{string_value:"john_1@a.com"} values:{string_value:"john_1@b.com"} values:{string_value:"john_1@c.com"} values:{string_value:"john_1@d.com"} values:{string_value:"john_1@e.com"}}}} fields:{key:"zName" value:{string_value:"john_1"}}}}} Read RecordValue: fields:{key:"Address" value:{record_value:{fields:{key:"City" value:{string_value:""}} fields:{key:"Street" value:{string_value:""}}}}} fields:{key:"Company" value:{string_value:"company_2"}} fields:{key:"CreatedAt" value:{int64_value:6}} fields:{key:"ID" value:{int64_value:3}} fields:{key:"Person" value:{record_value:{fields:{key:"emails" value:{list_value:{values:{string_value:"john_2@a.com"} values:{string_value:"john_2@b.com"} values:{string_value:"john_2@c.com"} values:{string_value:"john_2@d.com"} values:{string_value:"john_2@e.com"}}}} fields:{key:"zName" value:{string_value:"john_2"}}}}} total: 3 --- PASS: TestWriteReadParquet (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/mq/schema 0.011s === RUN TestMessageSerde serialized size 368 --- PASS: TestMessageSerde (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/mq/segment 0.006s === RUN TestRingBuffer --- PASS: TestRingBuffer (0.00s) === RUN TestInflightMessageTracker --- PASS: TestInflightMessageTracker (0.00s) === RUN TestInflightMessageTracker2 --- PASS: TestInflightMessageTracker2 (0.00s) === RUN TestInflightMessageTracker3 --- PASS: TestInflightMessageTracker3 (0.00s) === RUN TestInflightMessageTracker4 --- PASS: TestInflightMessageTracker4 (0.00s) === RUN TestAddConsumerInstance &{isAssign:true partition:{RangeStart:0 RangeStop:1 RingSize:3 UnixTimeNs:0} consumer:first ts:{wall:13987125660100284211 ext:514178919 loc:0x1aeb040}} &{isAssign:true partition:{RangeStart:1 RangeStop:2 RingSize:3 UnixTimeNs:0} consumer:first ts:{wall:13987125660100291295 ext:514186002 loc:0x1aeb040}} --- PASS: TestAddConsumerInstance (1.00s) === RUN TestMultipleConsumerInstances &{isAssign:true partition:{RangeStart:0 RangeStop:1 RingSize:3 UnixTimeNs:0} consumer:second ts:{wall:13987125661175352373 ext:1515505256 loc:0x1aeb040}} &{isAssign:true partition:{RangeStart:1 RangeStop:2 RingSize:3 UnixTimeNs:0} consumer:first ts:{wall:13987125661175364506 ext:1515517389 loc:0x1aeb040}} &{isAssign:true partition:{RangeStart:2 RangeStop:3 RingSize:3 UnixTimeNs:0} consumer:third ts:{wall:13987125661175366069 ext:1515518952 loc:0x1aeb040}} --- PASS: TestMultipleConsumerInstances (1.01s) === RUN TestConfirmAdjustment &{isAssign:true partition:{RangeStart:0 RangeStop:1 RingSize:3 UnixTimeNs:0} consumer:first ts:{wall:13987125662257801161 ext:2524212210 loc:0x1aeb040}} &{isAssign:true partition:{RangeStart:1 RangeStop:2 RingSize:3 UnixTimeNs:0} consumer:second ts:{wall:13987125662257812733 ext:2524223782 loc:0x1aeb040}} &{isAssign:true partition:{RangeStart:2 RangeStop:3 RingSize:3 UnixTimeNs:0} consumer:third ts:{wall:13987125662257816089 ext:2524227148 loc:0x1aeb040}} &{isAssign:true partition:{RangeStart:2 RangeStop:3 RingSize:3 UnixTimeNs:0} consumer:second ts:{wall:13987125664406545444 ext:4525472855 loc:0x1aeb040}} --- PASS: TestConfirmAdjustment (5.00s) === RUN Test_doBalanceSticky === RUN Test_doBalanceSticky/1_consumer_instance,_1_partition === RUN Test_doBalanceSticky/2_consumer_instances,_1_partition === RUN Test_doBalanceSticky/1_consumer_instance,_2_partitions === RUN Test_doBalanceSticky/2_consumer_instances,_2_partitions === RUN Test_doBalanceSticky/2_consumer_instances,_2_partitions,_1_deleted_consumer_instance === RUN Test_doBalanceSticky/2_consumer_instances,_2_partitions,_1_new_consumer_instance === RUN Test_doBalanceSticky/2_consumer_instances,_2_partitions,_1_new_partition === RUN Test_doBalanceSticky/2_consumer_instances,_2_partitions,_1_new_partition,_1_new_consumer_instance --- PASS: Test_doBalanceSticky (0.00s) --- PASS: Test_doBalanceSticky/1_consumer_instance,_1_partition (0.00s) --- PASS: Test_doBalanceSticky/2_consumer_instances,_1_partition (0.00s) --- PASS: Test_doBalanceSticky/1_consumer_instance,_2_partitions (0.00s) --- PASS: Test_doBalanceSticky/2_consumer_instances,_2_partitions (0.00s) --- PASS: Test_doBalanceSticky/2_consumer_instances,_2_partitions,_1_deleted_consumer_instance (0.00s) --- PASS: Test_doBalanceSticky/2_consumer_instances,_2_partitions,_1_new_consumer_instance (0.00s) --- PASS: Test_doBalanceSticky/2_consumer_instances,_2_partitions,_1_new_partition (0.00s) --- PASS: Test_doBalanceSticky/2_consumer_instances,_2_partitions,_1_new_partition,_1_new_consumer_instance (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/mq/sub_coordinator 7.034s ? github.com/seaweedfs/seaweedfs/weed/mq/topic [no test files] ? github.com/seaweedfs/seaweedfs/weed/notification [no test files] ? github.com/seaweedfs/seaweedfs/weed/notification/aws_sqs [no test files] ? github.com/seaweedfs/seaweedfs/weed/notification/gocdk_pub_sub [no test files] ? github.com/seaweedfs/seaweedfs/weed/notification/google_pub_sub [no test files] ? github.com/seaweedfs/seaweedfs/weed/notification/kafka [no test files] ? github.com/seaweedfs/seaweedfs/weed/notification/log [no test files] === RUN TestFilterEventTypes === RUN TestFilterEventTypes/create_event_-_allowed === RUN TestFilterEventTypes/create_event_-_not_allowed === RUN TestFilterEventTypes/delete_event_-_allowed === RUN TestFilterEventTypes/update_event_-_allowed === RUN TestFilterEventTypes/rename_event_-_allowed === RUN TestFilterEventTypes/rename_event_-_not_allowed === RUN TestFilterEventTypes/all_events_allowed_when_empty --- PASS: TestFilterEventTypes (0.00s) --- PASS: TestFilterEventTypes/create_event_-_allowed (0.00s) --- PASS: TestFilterEventTypes/create_event_-_not_allowed (0.00s) --- PASS: TestFilterEventTypes/delete_event_-_allowed (0.00s) --- PASS: TestFilterEventTypes/update_event_-_allowed (0.00s) --- PASS: TestFilterEventTypes/rename_event_-_allowed (0.00s) --- PASS: TestFilterEventTypes/rename_event_-_not_allowed (0.00s) --- PASS: TestFilterEventTypes/all_events_allowed_when_empty (0.00s) === RUN TestFilterPathPrefixes === RUN TestFilterPathPrefixes/matches_single_prefix === RUN TestFilterPathPrefixes/matches_one_of_multiple_prefixes === RUN TestFilterPathPrefixes/no_match === RUN TestFilterPathPrefixes/empty_prefixes_allows_all === RUN TestFilterPathPrefixes/exact_prefix_match === RUN TestFilterPathPrefixes/partial_match_not_allowed --- PASS: TestFilterPathPrefixes (0.00s) --- PASS: TestFilterPathPrefixes/matches_single_prefix (0.00s) --- PASS: TestFilterPathPrefixes/matches_one_of_multiple_prefixes (0.00s) --- PASS: TestFilterPathPrefixes/no_match (0.00s) --- PASS: TestFilterPathPrefixes/empty_prefixes_allows_all (0.00s) --- PASS: TestFilterPathPrefixes/exact_prefix_match (0.00s) --- PASS: TestFilterPathPrefixes/partial_match_not_allowed (0.00s) === RUN TestFilterCombined === RUN TestFilterCombined/allowed_event_and_path === RUN TestFilterCombined/allowed_event_but_wrong_path === RUN TestFilterCombined/wrong_event_but_allowed_path === RUN TestFilterCombined/wrong_event_and_wrong_path --- PASS: TestFilterCombined (0.00s) --- PASS: TestFilterCombined/allowed_event_and_path (0.00s) --- PASS: TestFilterCombined/allowed_event_but_wrong_path (0.00s) --- PASS: TestFilterCombined/wrong_event_but_allowed_path (0.00s) --- PASS: TestFilterCombined/wrong_event_and_wrong_path (0.00s) === RUN TestHttpClientSendMessage --- PASS: TestHttpClientSendMessage (0.00s) === RUN TestHttpClientSendMessageWithoutToken --- PASS: TestHttpClientSendMessageWithoutToken (0.00s) === RUN TestHttpClientSendMessageServerError --- PASS: TestHttpClientSendMessageServerError (0.00s) === RUN TestHttpClientSendMessageNetworkError --- PASS: TestHttpClientSendMessageNetworkError (0.00s) === RUN TestConfigValidation === RUN TestConfigValidation/valid_config === RUN TestConfigValidation/empty_endpoint === RUN TestConfigValidation/invalid_URL === RUN TestConfigValidation/timeout_too_large === RUN TestConfigValidation/too_many_retries === RUN TestConfigValidation/too_many_workers === RUN TestConfigValidation/buffer_too_large --- PASS: TestConfigValidation (0.00s) --- PASS: TestConfigValidation/valid_config (0.00s) --- PASS: TestConfigValidation/empty_endpoint (0.00s) --- PASS: TestConfigValidation/invalid_URL (0.00s) --- PASS: TestConfigValidation/timeout_too_large (0.00s) --- PASS: TestConfigValidation/too_many_retries (0.00s) --- PASS: TestConfigValidation/too_many_workers (0.00s) --- PASS: TestConfigValidation/buffer_too_large (0.00s) === RUN TestWebhookMessageSerialization --- PASS: TestWebhookMessageSerialization (0.00s) === RUN TestQueueInitialize [watermill] 2025/08/04 10:28:09.402923 router.go:280: level=INFO msg="Adding handler" handler_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.403064 router.go:414: level=INFO msg="Running router handlers" count=1 [watermill] 2025/08/04 10:28:09.403088 router.go:628: level=INFO msg="Starting handler" subscriber_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.403098 router.go:463: level=INFO msg="Subscriber stopped" subscriber_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.403105 router.go:560: level=INFO msg="Closing router" [watermill] 2025/08/04 10:28:09.403115 router.go:393: level=INFO msg="Waiting for messages" timeout=1m0s [watermill] 2025/08/04 10:28:09.403131 router.go:571: level=INFO msg="Router closed" [watermill] 2025/08/04 10:28:09.403136 router.go:399: level=INFO msg="All messages processed" I0804 10:28:09.403141 webhook_queue.go:161 webhook pubsub worker stopped --- PASS: TestQueueInitialize (0.10s) === RUN TestQueueSendMessage [watermill] 2025/08/04 10:28:09.503661 router.go:280: level=INFO msg="Adding handler" handler_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.503725 pubsub.go:145: level=INFO msg="No subscribers to send message" message_uuid=81d70568-58f5-4239-bcd6-d9bf0fb2d892 pubsub_uuid=uMQyiDVHMkhZptixfCCY3o topic=webhook_topic [watermill] 2025/08/04 10:28:09.503802 router.go:414: level=INFO msg="Running router handlers" count=1 [watermill] 2025/08/04 10:28:09.503894 router.go:628: level=INFO msg="Starting handler" subscriber_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.503912 router.go:463: level=INFO msg="Subscriber stopped" subscriber_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.503920 router.go:560: level=INFO msg="Closing router" [watermill] 2025/08/04 10:28:09.503936 router.go:393: level=INFO msg="Waiting for messages" timeout=1m0s [watermill] 2025/08/04 10:28:09.503941 router.go:399: level=INFO msg="All messages processed" I0804 10:28:09.503946 webhook_queue.go:161 webhook pubsub worker stopped [watermill] 2025/08/04 10:28:09.503945 router.go:571: level=INFO msg="Router closed" --- PASS: TestQueueSendMessage (0.10s) === RUN TestQueueHandleWebhook --- PASS: TestQueueHandleWebhook (0.00s) === RUN TestQueueEndToEnd [watermill] 2025/08/04 10:28:09.606217 router.go:280: level=INFO msg="Adding handler" handler_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.606252 pubsub.go:145: level=INFO msg="No subscribers to send message" message_uuid=52969001-3c62-46d6-a8b3-9fff9938d4a9 pubsub_uuid=o7SdKEZx8w5HSpTw5eGoz7 topic=webhook_topic [watermill] 2025/08/04 10:28:09.606267 router.go:414: level=INFO msg="Running router handlers" count=1 [watermill] 2025/08/04 10:28:09.606279 router.go:628: level=INFO msg="Starting handler" subscriber_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.606288 router.go:463: level=INFO msg="Subscriber stopped" subscriber_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.606294 router.go:560: level=INFO msg="Closing router" [watermill] 2025/08/04 10:28:09.606303 router.go:393: level=INFO msg="Waiting for messages" timeout=1m0s [watermill] 2025/08/04 10:28:09.606307 router.go:571: level=INFO msg="Router closed" [watermill] 2025/08/04 10:28:09.606311 router.go:399: level=INFO msg="All messages processed" I0804 10:28:09.606315 webhook_queue.go:161 webhook pubsub worker stopped --- PASS: TestQueueEndToEnd (0.10s) === RUN TestQueueRetryMechanism [watermill] 2025/08/04 10:28:09.707379 router.go:280: level=INFO msg="Adding handler" handler_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.707432 pubsub.go:145: level=INFO msg="No subscribers to send message" message_uuid=99b1354a-099c-4484-820b-1a8550d61e5f pubsub_uuid=KDq9dLjVo3UsxdRHAsjXHn topic=webhook_topic [watermill] 2025/08/04 10:28:09.707446 router.go:414: level=INFO msg="Running router handlers" count=1 [watermill] 2025/08/04 10:28:09.707458 router.go:628: level=INFO msg="Starting handler" subscriber_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.707466 router.go:463: level=INFO msg="Subscriber stopped" subscriber_name=webhook_handler_0 topic=webhook_topic [watermill] 2025/08/04 10:28:09.707471 router.go:560: level=INFO msg="Closing router" [watermill] 2025/08/04 10:28:09.707479 router.go:393: level=INFO msg="Waiting for messages" timeout=1m0s [watermill] 2025/08/04 10:28:09.707482 router.go:571: level=INFO msg="Router closed" [watermill] 2025/08/04 10:28:09.707485 router.go:399: level=INFO msg="All messages processed" I0804 10:28:09.707490 webhook_queue.go:161 webhook pubsub worker stopped --- PASS: TestQueueRetryMechanism (0.10s) === RUN TestQueueSendMessageWithFilter === RUN TestQueueSendMessageWithFilter/allowed_event_type === RUN TestQueueSendMessageWithFilter/filtered_event_type === RUN TestQueueSendMessageWithFilter/allowed_path_prefix === RUN TestQueueSendMessageWithFilter/filtered_path_prefix === RUN TestQueueSendMessageWithFilter/combined_filters_-_both_pass === RUN TestQueueSendMessageWithFilter/combined_filters_-_event_fails === RUN TestQueueSendMessageWithFilter/combined_filters_-_path_fails --- PASS: TestQueueSendMessageWithFilter (0.00s) --- PASS: TestQueueSendMessageWithFilter/allowed_event_type (0.00s) --- PASS: TestQueueSendMessageWithFilter/filtered_event_type (0.00s) --- PASS: TestQueueSendMessageWithFilter/allowed_path_prefix (0.00s) --- PASS: TestQueueSendMessageWithFilter/filtered_path_prefix (0.00s) --- PASS: TestQueueSendMessageWithFilter/combined_filters_-_both_pass (0.00s) --- PASS: TestQueueSendMessageWithFilter/combined_filters_-_event_fails (0.00s) --- PASS: TestQueueSendMessageWithFilter/combined_filters_-_path_fails (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/notification/webhook 0.416s === RUN TestCaching vid 123 locations = [{a.com:8080 0}] --- PASS: TestCaching (2.01s) === RUN TestCreateNeedleFromRequest needle: 0f084d17353afda0 Size:0, DataSize:0, Name:t.txt, Mime:text/plain; charset=utf-8 Compressed:true, originalSize: 1422 W0804 10:28:11.546825 upload_content.go:192 uploading 0 to http://localhost:8080/389,0f084d17353afda0: upload t.txt 803 bytes to http://localhost:8080/389,0f084d17353afda0: EOF needle: 0f084d17353afda0 Size:0, DataSize:0, Name:t.txt, Mime:text/plain; charset=utf-8 Compressed:true, originalSize: 1422 W0804 10:28:12.022786 upload_content.go:192 uploading 1 to http://localhost:8080/389,0f084d17353afda0: upload t.txt 803 bytes to http://localhost:8080/389,0f084d17353afda0: EOF needle: 0f084d17353afda0 Size:0, DataSize:0, Name:t.txt, Mime:text/plain; charset=utf-8 Compressed:true, originalSize: 1422 W0804 10:28:12.735907 upload_content.go:192 uploading 2 to http://localhost:8080/389,0f084d17353afda0: upload t.txt 803 bytes to http://localhost:8080/389,0f084d17353afda0: EOF err: upload t.txt 803 bytes to http://localhost:8080/389,0f084d17353afda0: EOF uploadResult: needle: 0f084d17353afda0 Size:0, DataSize:0, Name:t.txt, Mime:text/plain Compressed:true, dataSize:803 originalSize:1422 W0804 10:28:12.736075 upload_content.go:192 uploading 0 to http://localhost:8080/389,0f084d17353afda0: upload t.txt 803 bytes to http://localhost:8080/389,0f084d17353afda0: EOF needle: 0f084d17353afda0 Size:0, DataSize:0, Name:t.txt, Mime:text/plain Compressed:true, dataSize:803 originalSize:1422 W0804 10:28:13.212338 upload_content.go:192 uploading 1 to http://localhost:8080/389,0f084d17353afda0: upload t.txt 803 bytes to http://localhost:8080/389,0f084d17353afda0: EOF needle: 0f084d17353afda0 Size:0, DataSize:0, Name:t.txt, Mime:text/plain Compressed:true, dataSize:803 originalSize:1422 W0804 10:28:13.929037 upload_content.go:192 uploading 2 to http://localhost:8080/389,0f084d17353afda0: upload t.txt 803 bytes to http://localhost:8080/389,0f084d17353afda0: EOF --- PASS: TestCreateNeedleFromRequest (2.39s) PASS ok github.com/seaweedfs/seaweedfs/weed/operation 4.428s === RUN TestJsonpMarshalUnmarshal marshalled: { "backendType": "aws", "backendId": "", "key": "", "offset": "0", "fileSize": "12", "modifiedTime": "0", "extension": "" } unmarshalled: backend_type:"aws" backend_id:"temp" file_size:12 --- PASS: TestJsonpMarshalUnmarshal (0.00s) === RUN TestServerAddresses_ToAddressMapOrSrv_shouldRemovePrefix --- PASS: TestServerAddresses_ToAddressMapOrSrv_shouldRemovePrefix (0.00s) === RUN TestServerAddresses_ToAddressMapOrSrv_shouldHandleIPPortList --- PASS: TestServerAddresses_ToAddressMapOrSrv_shouldHandleIPPortList (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/pb 0.008s === RUN TestFileIdSize 24 14 --- PASS: TestFileIdSize (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/pb/filer_pb 0.010s ? github.com/seaweedfs/seaweedfs/weed/pb/iam_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/master_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/message_fbs [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/mount_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/mq_agent_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/mq_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/remote_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/s3_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/schema_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb [no test files] ? github.com/seaweedfs/seaweedfs/weed/pb/worker_pb [no test files] === RUN TestGjson { "quiz": { "sport": { "q1": { "question": "Which one is correct team name in NBA?", "options": [ "New York Bulls", "Los Angeles Kings", "Golden State Warriros", "Huston Rocket" ], "answer": "Huston Rocket" } }, "maths": { "q1": { "question": "5 + 7 = ?", "options": [ "10", "11", "12", "13" ], "answer": "12" }, "q2": { "question": "12 - 8 = ?", "options": [ "1", "2", "3", "4" ], "answer": "4" } } } } +++++++++++ 12 5 { "sport": { "q1": { "question": "Which one is correct team name in NBA?", "options": [ "New York Bulls", "Los Angeles Kings", "Golden State Warriros", "Huston Rocket" ], "answer": "Huston Rocket" } }, "maths": { "q1": { "question": "5 + 7 = ?", "options": [ "10", "11", "12", "13" ], "answer": "12" }, "q2": { "question": "12 - 8 = ?", "options": [ "1", "2", "3", "4" ], "answer": "4" } } } 0 0 ----------- { "fruit": "Apple", "size": "Large", "quiz": "Red" } +++++++++++ 51 3 Red 13 3 Apple ----------- --- PASS: TestGjson (0.00s) === RUN TestJsonQueryRow {fruit:"Bl\"ue",size:6} --- PASS: TestJsonQueryRow (0.00s) === RUN TestJsonQueryNumber {fruit:"Bl\"ue",quiz:"green"} --- PASS: TestJsonQueryNumber (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/query/json 0.002s ? github.com/seaweedfs/seaweedfs/weed/query/sqltypes [no test files] ? github.com/seaweedfs/seaweedfs/weed/remote_storage [no test files] ? github.com/seaweedfs/seaweedfs/weed/remote_storage/azure [no test files] ? github.com/seaweedfs/seaweedfs/weed/remote_storage/gcs [no test files] ? github.com/seaweedfs/seaweedfs/weed/remote_storage/s3 [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/repl_util [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/sink [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/sink/azuresink [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/sink/b2sink [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/sink/filersink [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/sink/gcssink [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/sink/localsink [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/sink/s3sink [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/source [no test files] ? github.com/seaweedfs/seaweedfs/weed/replication/sub [no test files] === RUN TestIdentityListFileFormat { "identities": [ { "name": "some_name", "credentials": [ { "accessKey": "some_access_key1", "secretKey": "some_secret_key2" } ], "actions": [ "Admin", "Read", "Write" ], "account": null }, { "name": "some_read_only_user", "credentials": [ { "accessKey": "some_access_key1", "secretKey": "some_secret_key1" } ], "actions": [ "Read" ], "account": null }, { "name": "some_normal_user", "credentials": [ { "accessKey": "some_access_key2", "secretKey": "some_secret_key2" } ], "actions": [ "Read", "Write" ], "account": null } ], "accounts": [] } --- PASS: TestIdentityListFileFormat (0.00s) === RUN TestCanDo --- PASS: TestCanDo (0.00s) === RUN TestLoadS3ApiConfiguration --- PASS: TestLoadS3ApiConfiguration (0.00s) === RUN TestNewIdentityAccessManagementWithStoreEnvVars === RUN TestNewIdentityAccessManagementWithStoreEnvVars/Environment_variables_used_as_fallback I0804 10:28:13.736625 config_loader.go:109 Using explicit credential store: memory I0804 10:28:13.736793 auth_credentials.go:164 No S3 configuration found, using AWS environment variables as fallback I0804 10:28:13.736799 auth_credentials.go:196 Added admin identity from AWS environment variables: admin-AKIA1234 === RUN TestNewIdentityAccessManagementWithStoreEnvVars/Short_access_key_fallback I0804 10:28:13.736829 config_loader.go:109 Using explicit credential store: memory I0804 10:28:13.736835 auth_credentials.go:164 No S3 configuration found, using AWS environment variables as fallback I0804 10:28:13.736840 auth_credentials.go:196 Added admin identity from AWS environment variables: admin-SHORT === RUN TestNewIdentityAccessManagementWithStoreEnvVars/No_env_vars_means_no_identities I0804 10:28:13.736858 config_loader.go:109 Using explicit credential store: memory --- PASS: TestNewIdentityAccessManagementWithStoreEnvVars (0.00s) --- PASS: TestNewIdentityAccessManagementWithStoreEnvVars/Environment_variables_used_as_fallback (0.00s) --- PASS: TestNewIdentityAccessManagementWithStoreEnvVars/Short_access_key_fallback (0.00s) --- PASS: TestNewIdentityAccessManagementWithStoreEnvVars/No_env_vars_means_no_identities (0.00s) === RUN TestIsRequestPresignedSignatureV4 --- PASS: TestIsRequestPresignedSignatureV4 (0.00s) === RUN TestIsReqAuthenticated --- PASS: TestIsReqAuthenticated (0.00s) === RUN TestCheckaAnonymousRequestAuthType --- PASS: TestCheckaAnonymousRequestAuthType (0.00s) === RUN TestCheckAdminRequestAuthType --- PASS: TestCheckAdminRequestAuthType (0.00s) === RUN TestGetStringToSignPUT --- PASS: TestGetStringToSignPUT (0.00s) === RUN TestGetStringToSignGETEmptyStringHash --- PASS: TestGetStringToSignGETEmptyStringHash (0.00s) === RUN TestBuildBucketMetadata W0804 10:28:13.737421 bucket_metadata.go:106 Invalid ownership: , bucket: ownershipEmptyStr W0804 10:28:13.737508 bucket_metadata.go:117 owner[id=xxxxx] is invalid, bucket: acpEmptyObject --- PASS: TestBuildBucketMetadata (0.00s) === RUN TestGetBucketMetadata --- PASS: TestGetBucketMetadata (1.00s) === RUN TestNewSignV4ChunkedReaderstreamingAws4HmacSha256Payload --- PASS: TestNewSignV4ChunkedReaderstreamingAws4HmacSha256Payload (0.00s) === RUN TestNewSignV4ChunkedReaderStreamingUnsignedPayloadTrailer --- PASS: TestNewSignV4ChunkedReaderStreamingUnsignedPayloadTrailer (0.00s) === RUN TestInitiateMultipartUploadResult --- PASS: TestInitiateMultipartUploadResult (0.00s) === RUN TestListPartsResult --- PASS: TestListPartsResult (0.00s) === RUN Test_parsePartNumber === RUN Test_parsePartNumber/first === RUN Test_parsePartNumber/second --- PASS: Test_parsePartNumber (0.00s) --- PASS: Test_parsePartNumber/first (0.00s) --- PASS: Test_parsePartNumber/second (0.00s) === RUN TestGetAccountId --- PASS: TestGetAccountId (0.00s) === RUN TestExtractAcl --- PASS: TestExtractAcl (0.00s) === RUN TestParseAndValidateAclHeaders W0804 10:28:14.739974 s3api_acl_helper.go:292 invalid canonical grantee! account id[notExistsAccount] is not exists W0804 10:28:14.739982 s3api_acl_helper.go:281 invalid group grantee! group name[http:sfasf] is not valid --- PASS: TestParseAndValidateAclHeaders (0.00s) === RUN TestDetermineReqGrants --- PASS: TestDetermineReqGrants (0.00s) === RUN TestAssembleEntryWithAcp --- PASS: TestAssembleEntryWithAcp (0.00s) === RUN TestGrantEquals --- PASS: TestGrantEquals (0.00s) === RUN TestSetAcpOwnerHeader --- PASS: TestSetAcpOwnerHeader (0.00s) === RUN TestSetAcpGrantsHeader --- PASS: TestSetAcpGrantsHeader (0.00s) === RUN TestPutBucketAclCannedAclSupport === RUN TestPutBucketAclCannedAclSupport/private s3api_bucket_handlers_test.go:86: ✓ PASS: private - private ACL should be accepted === RUN TestPutBucketAclCannedAclSupport/public-read s3api_bucket_handlers_test.go:86: ✓ PASS: public-read - public-read ACL should be accepted === RUN TestPutBucketAclCannedAclSupport/public-read-write s3api_bucket_handlers_test.go:86: ✓ PASS: public-read-write - public-read-write ACL should be accepted === RUN TestPutBucketAclCannedAclSupport/authenticated-read s3api_bucket_handlers_test.go:86: ✓ PASS: authenticated-read - authenticated-read ACL should be accepted === RUN TestPutBucketAclCannedAclSupport/bucket-owner-read s3api_bucket_handlers_test.go:86: ✓ PASS: bucket-owner-read - bucket-owner-read ACL should be accepted === RUN TestPutBucketAclCannedAclSupport/bucket-owner-full-control s3api_bucket_handlers_test.go:86: ✓ PASS: bucket-owner-full-control - bucket-owner-full-control ACL should be accepted === RUN TestPutBucketAclCannedAclSupport/invalid-acl s3api_bucket_handlers_test.go:89: ✓ PASS: invalid-acl - invalid ACL should be rejected --- PASS: TestPutBucketAclCannedAclSupport (0.00s) --- PASS: TestPutBucketAclCannedAclSupport/private (0.00s) --- PASS: TestPutBucketAclCannedAclSupport/public-read (0.00s) --- PASS: TestPutBucketAclCannedAclSupport/public-read-write (0.00s) --- PASS: TestPutBucketAclCannedAclSupport/authenticated-read (0.00s) --- PASS: TestPutBucketAclCannedAclSupport/bucket-owner-read (0.00s) --- PASS: TestPutBucketAclCannedAclSupport/bucket-owner-full-control (0.00s) --- PASS: TestPutBucketAclCannedAclSupport/invalid-acl (0.00s) === RUN TestBucketWithoutACLIsNotPublicRead --- PASS: TestBucketWithoutACLIsNotPublicRead (0.00s) === RUN TestBucketConfigInitialization --- PASS: TestBucketConfigInitialization (0.00s) === RUN TestUpdateBucketConfigCacheConsistency === RUN TestUpdateBucketConfigCacheConsistency/bucket_without_ACL_should_have_IsPublicRead=false === RUN TestUpdateBucketConfigCacheConsistency/bucket_with_public-read_ACL_should_have_IsPublicRead=true --- PASS: TestUpdateBucketConfigCacheConsistency (0.00s) --- PASS: TestUpdateBucketConfigCacheConsistency/bucket_without_ACL_should_have_IsPublicRead=false (0.00s) --- PASS: TestUpdateBucketConfigCacheConsistency/bucket_with_public-read_ACL_should_have_IsPublicRead=true (0.00s) === RUN TestLimit --- PASS: TestLimit (0.00s) === RUN TestCheckGovernanceBypassPermissionResourceGeneration === RUN TestCheckGovernanceBypassPermissionResourceGeneration/simple_object === RUN TestCheckGovernanceBypassPermissionResourceGeneration/object_with_leading_slash === RUN TestCheckGovernanceBypassPermissionResourceGeneration/nested_object === RUN TestCheckGovernanceBypassPermissionResourceGeneration/empty_object === RUN TestCheckGovernanceBypassPermissionResourceGeneration/root_object --- PASS: TestCheckGovernanceBypassPermissionResourceGeneration (0.00s) --- PASS: TestCheckGovernanceBypassPermissionResourceGeneration/simple_object (0.00s) --- PASS: TestCheckGovernanceBypassPermissionResourceGeneration/object_with_leading_slash (0.00s) --- PASS: TestCheckGovernanceBypassPermissionResourceGeneration/nested_object (0.00s) --- PASS: TestCheckGovernanceBypassPermissionResourceGeneration/empty_object (0.00s) --- PASS: TestCheckGovernanceBypassPermissionResourceGeneration/root_object (0.00s) === RUN TestCheckGovernanceBypassPermissionActionGeneration === RUN TestCheckGovernanceBypassPermissionActionGeneration/bypass_action_generation === RUN TestCheckGovernanceBypassPermissionActionGeneration/leading_slash_handling --- PASS: TestCheckGovernanceBypassPermissionActionGeneration (0.00s) --- PASS: TestCheckGovernanceBypassPermissionActionGeneration/bypass_action_generation (0.00s) --- PASS: TestCheckGovernanceBypassPermissionActionGeneration/leading_slash_handling (0.00s) === RUN TestCheckGovernanceBypassPermissionErrorHandling === RUN TestCheckGovernanceBypassPermissionErrorHandling/empty_bucket s3api_governance_permissions_test.go:169: Generated resource path for Empty bucket should be handled gracefully: /test-object.txt === RUN TestCheckGovernanceBypassPermissionErrorHandling/special_characters s3api_governance_permissions_test.go:169: Generated resource path for Objects with special characters should be handled: test-bucket/test object with spaces.txt === RUN TestCheckGovernanceBypassPermissionErrorHandling/unicode_characters s3api_governance_permissions_test.go:169: Generated resource path for Objects with unicode characters should be handled: test-bucket/测试文件.txt --- PASS: TestCheckGovernanceBypassPermissionErrorHandling (0.00s) --- PASS: TestCheckGovernanceBypassPermissionErrorHandling/empty_bucket (0.00s) --- PASS: TestCheckGovernanceBypassPermissionErrorHandling/special_characters (0.00s) --- PASS: TestCheckGovernanceBypassPermissionErrorHandling/unicode_characters (0.00s) === RUN TestCheckGovernanceBypassPermissionIntegrationBehavior s3api_governance_permissions_test.go:177: Documentation test - describes expected behavior with full IAM integration --- SKIP: TestCheckGovernanceBypassPermissionIntegrationBehavior (0.00s) === RUN TestGovernanceBypassWithIAMPermission s3api_governance_permissions_test.go:206: Integration test requires full IAM setup - demonstrates expected behavior --- SKIP: TestGovernanceBypassWithIAMPermission (0.00s) === RUN TestGovernancePermissionIntegration s3api_governance_permissions_test.go:224: Integration test requires full IAM setup - demonstrates expected behavior --- SKIP: TestGovernancePermissionIntegration (0.00s) === RUN TestGovernanceBypassHeader === RUN TestGovernanceBypassHeader/bypass_header_true === RUN TestGovernanceBypassHeader/bypass_header_false === RUN TestGovernanceBypassHeader/bypass_header_empty === RUN TestGovernanceBypassHeader/bypass_header_invalid --- PASS: TestGovernanceBypassHeader (0.00s) --- PASS: TestGovernanceBypassHeader/bypass_header_true (0.00s) --- PASS: TestGovernanceBypassHeader/bypass_header_false (0.00s) --- PASS: TestGovernanceBypassHeader/bypass_header_empty (0.00s) --- PASS: TestGovernanceBypassHeader/bypass_header_invalid (0.00s) === RUN TestGovernanceRetentionModeChecking === RUN TestGovernanceRetentionModeChecking/compliance_mode_cannot_bypass === RUN TestGovernanceRetentionModeChecking/governance_mode_without_bypass === RUN TestGovernanceRetentionModeChecking/governance_mode_with_bypass_no_permission === RUN TestGovernanceRetentionModeChecking/governance_mode_with_bypass_and_permission --- PASS: TestGovernanceRetentionModeChecking (0.00s) --- PASS: TestGovernanceRetentionModeChecking/compliance_mode_cannot_bypass (0.00s) --- PASS: TestGovernanceRetentionModeChecking/governance_mode_without_bypass (0.00s) --- PASS: TestGovernanceRetentionModeChecking/governance_mode_with_bypass_no_permission (0.00s) --- PASS: TestGovernanceRetentionModeChecking/governance_mode_with_bypass_and_permission (0.00s) === RUN TestGovernancePermissionActionGeneration === RUN TestGovernancePermissionActionGeneration/bucket_and_object_action === RUN TestGovernancePermissionActionGeneration/bucket_only_action === RUN TestGovernancePermissionActionGeneration/nested_object_action --- PASS: TestGovernancePermissionActionGeneration (0.00s) --- PASS: TestGovernancePermissionActionGeneration/bucket_and_object_action (0.00s) --- PASS: TestGovernancePermissionActionGeneration/bucket_only_action (0.00s) --- PASS: TestGovernancePermissionActionGeneration/nested_object_action (0.00s) === RUN TestGovernancePermissionEndToEnd s3api_governance_permissions_test.go:406: End-to-end testing requires full S3 API server setup - demonstrates expected behavior --- SKIP: TestGovernancePermissionEndToEnd (0.00s) === RUN TestGovernancePermissionHTTPFlow === RUN TestGovernancePermissionHTTPFlow/bypass_header_true === RUN TestGovernancePermissionHTTPFlow/bypass_header_false === RUN TestGovernancePermissionHTTPFlow/bypass_header_missing --- PASS: TestGovernancePermissionHTTPFlow (0.00s) --- PASS: TestGovernancePermissionHTTPFlow/bypass_header_true (0.00s) --- PASS: TestGovernancePermissionHTTPFlow/bypass_header_false (0.00s) --- PASS: TestGovernancePermissionHTTPFlow/bypass_header_missing (0.00s) === RUN TestGovernancePermissionMethodCalls === RUN TestGovernancePermissionMethodCalls/delete_object_handler_pattern s3api_governance_permissions_test.go:482: Extracted bucket: , object: / === RUN TestGovernancePermissionMethodCalls/put_object_handler_pattern s3api_governance_permissions_test.go:503: Extracted bucket: , object: / --- PASS: TestGovernancePermissionMethodCalls (0.00s) --- PASS: TestGovernancePermissionMethodCalls/delete_object_handler_pattern (0.00s) --- PASS: TestGovernancePermissionMethodCalls/put_object_handler_pattern (0.00s) === RUN TestGovernanceBypassNotPermittedError === RUN TestGovernanceBypassNotPermittedError/governance_bypass_without_permission === RUN TestGovernanceBypassNotPermittedError/governance_bypass_with_permission === RUN TestGovernanceBypassNotPermittedError/governance_no_bypass --- PASS: TestGovernanceBypassNotPermittedError (0.00s) --- PASS: TestGovernanceBypassNotPermittedError/governance_bypass_without_permission (0.00s) --- PASS: TestGovernanceBypassNotPermittedError/governance_bypass_with_permission (0.00s) --- PASS: TestGovernanceBypassNotPermittedError/governance_no_bypass (0.00s) === RUN TestProcessMetadata --- PASS: TestProcessMetadata (0.00s) === RUN TestProcessMetadataBytes --- PASS: TestProcessMetadataBytes (0.00s) === RUN TestListObjectsHandler --- PASS: TestListObjectsHandler (0.00s) === RUN Test_normalizePrefixMarker === RUN Test_normalizePrefixMarker/prefix_is_a_directory === RUN Test_normalizePrefixMarker/normal_case === RUN Test_normalizePrefixMarker/empty_prefix === RUN Test_normalizePrefixMarker/empty_directory --- PASS: Test_normalizePrefixMarker (0.00s) --- PASS: Test_normalizePrefixMarker/prefix_is_a_directory (0.00s) --- PASS: Test_normalizePrefixMarker/normal_case (0.00s) --- PASS: Test_normalizePrefixMarker/empty_prefix (0.00s) --- PASS: Test_normalizePrefixMarker/empty_directory (0.00s) === RUN TestAllowUnorderedParameterValidation === RUN TestAllowUnorderedParameterValidation/getListObjectsV1Args_with_allow-unordered === RUN TestAllowUnorderedParameterValidation/getListObjectsV2Args_with_allow-unordered --- PASS: TestAllowUnorderedParameterValidation (0.00s) --- PASS: TestAllowUnorderedParameterValidation/getListObjectsV1Args_with_allow-unordered (0.00s) --- PASS: TestAllowUnorderedParameterValidation/getListObjectsV2Args_with_allow-unordered (0.00s) === RUN TestAllowUnorderedWithDelimiterValidation === RUN TestAllowUnorderedWithDelimiterValidation/should_return_error_when_allow-unordered=true_and_delimiter_are_both_present === RUN TestAllowUnorderedWithDelimiterValidation/should_allow_allow-unordered=true_without_delimiter === RUN TestAllowUnorderedWithDelimiterValidation/should_allow_delimiter_without_allow-unordered --- PASS: TestAllowUnorderedWithDelimiterValidation (0.00s) --- PASS: TestAllowUnorderedWithDelimiterValidation/should_return_error_when_allow-unordered=true_and_delimiter_are_both_present (0.00s) --- PASS: TestAllowUnorderedWithDelimiterValidation/should_allow_allow-unordered=true_without_delimiter (0.00s) --- PASS: TestAllowUnorderedWithDelimiterValidation/should_allow_delimiter_without_allow-unordered (0.00s) === RUN TestMaxKeysParameterValidation === RUN TestMaxKeysParameterValidation/valid_max-keys_values_should_work === RUN TestMaxKeysParameterValidation/invalid_max-keys_values_should_return_error === RUN TestMaxKeysParameterValidation/empty_max-keys_should_use_default --- PASS: TestMaxKeysParameterValidation (0.00s) --- PASS: TestMaxKeysParameterValidation/valid_max-keys_values_should_work (0.00s) --- PASS: TestMaxKeysParameterValidation/invalid_max-keys_values_should_return_error (0.00s) --- PASS: TestMaxKeysParameterValidation/empty_max-keys_should_use_default (0.00s) === RUN TestDelimiterWithDirectoryKeyObjects === RUN TestDelimiterWithDirectoryKeyObjects/directory_key_object_should_be_grouped_into_common_prefix_with_delimiter === RUN TestDelimiterWithDirectoryKeyObjects/directory_key_object_without_delimiter_should_be_individual_key --- PASS: TestDelimiterWithDirectoryKeyObjects (0.00s) --- PASS: TestDelimiterWithDirectoryKeyObjects/directory_key_object_should_be_grouped_into_common_prefix_with_delimiter (0.00s) --- PASS: TestDelimiterWithDirectoryKeyObjects/directory_key_object_without_delimiter_should_be_individual_key (0.00s) === RUN TestObjectLevelListPermissions === RUN TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions === RUN TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/allowed_prefix_exact_match === RUN TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/allowed_prefix_subdirectory === RUN TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/denied_different_prefix === RUN TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/denied_different_bucket === RUN TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/denied_root_level === RUN TestObjectLevelListPermissions/Bucket_Level_Permissions_Still_Work === RUN TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic === RUN TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic/empty_object_with_prefix === RUN TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic/slash_object_with_prefix === RUN TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic/object_already_set === RUN TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic/no_prefix_provided === RUN TestObjectLevelListPermissions/Issue_7039_Scenario === NAME TestObjectLevelListPermissions s3api_object_handlers_list_test.go:492: This test validates the fix for issue #7039 s3api_object_handlers_list_test.go:493: Object-level List permissions like 'List:bucket/prefix/*' now work correctly s3api_object_handlers_list_test.go:494: Middleware properly extracts prefix for permission validation --- PASS: TestObjectLevelListPermissions (0.00s) --- PASS: TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions (0.00s) --- PASS: TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/allowed_prefix_exact_match (0.00s) --- PASS: TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/allowed_prefix_subdirectory (0.00s) --- PASS: TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/denied_different_prefix (0.00s) --- PASS: TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/denied_different_bucket (0.00s) --- PASS: TestObjectLevelListPermissions/Identity_CanDo_Object_Level_Permissions/denied_root_level (0.00s) --- PASS: TestObjectLevelListPermissions/Bucket_Level_Permissions_Still_Work (0.00s) --- PASS: TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic (0.00s) --- PASS: TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic/empty_object_with_prefix (0.00s) --- PASS: TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic/slash_object_with_prefix (0.00s) --- PASS: TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic/object_already_set (0.00s) --- PASS: TestObjectLevelListPermissions/Empty_Object_With_Prefix_Logic/no_prefix_provided (0.00s) --- PASS: TestObjectLevelListPermissions/Issue_7039_Scenario (0.00s) === RUN TestNewListEntryOwnerDisplayName --- PASS: TestNewListEntryOwnerDisplayName (0.00s) === RUN TestRemoveDuplicateSlashes === RUN TestRemoveDuplicateSlashes/empty === RUN TestRemoveDuplicateSlashes/slash === RUN TestRemoveDuplicateSlashes/object === RUN TestRemoveDuplicateSlashes/correct_path === RUN TestRemoveDuplicateSlashes/path_with_duplicates --- PASS: TestRemoveDuplicateSlashes (0.00s) --- PASS: TestRemoveDuplicateSlashes/empty (0.00s) --- PASS: TestRemoveDuplicateSlashes/slash (0.00s) --- PASS: TestRemoveDuplicateSlashes/object (0.00s) --- PASS: TestRemoveDuplicateSlashes/correct_path (0.00s) --- PASS: TestRemoveDuplicateSlashes/path_with_duplicates (0.00s) === RUN TestS3ApiServer_toFilerUrl === RUN TestS3ApiServer_toFilerUrl/simple === RUN TestS3ApiServer_toFilerUrl/double_prefix === RUN TestS3ApiServer_toFilerUrl/triple_prefix === RUN TestS3ApiServer_toFilerUrl/empty_prefix --- PASS: TestS3ApiServer_toFilerUrl (0.00s) --- PASS: TestS3ApiServer_toFilerUrl/simple (0.00s) --- PASS: TestS3ApiServer_toFilerUrl/double_prefix (0.00s) --- PASS: TestS3ApiServer_toFilerUrl/triple_prefix (0.00s) --- PASS: TestS3ApiServer_toFilerUrl/empty_prefix (0.00s) === RUN TestVeeamObjectLockBugFix === RUN TestVeeamObjectLockBugFix/Bug_case:_bucket_with_no_extended_attributes === RUN TestVeeamObjectLockBugFix/Fix_verification:_bucket_with_Object_Lock_enabled_via_boolean_flag === RUN TestVeeamObjectLockBugFix/Fix_verification:_bucket_with_Object_Lock_enabled_via_Enabled_constant --- PASS: TestVeeamObjectLockBugFix (0.00s) --- PASS: TestVeeamObjectLockBugFix/Bug_case:_bucket_with_no_extended_attributes (0.00s) --- PASS: TestVeeamObjectLockBugFix/Fix_verification:_bucket_with_Object_Lock_enabled_via_boolean_flag (0.00s) --- PASS: TestVeeamObjectLockBugFix/Fix_verification:_bucket_with_Object_Lock_enabled_via_Enabled_constant (0.00s) === RUN TestExtractObjectLockMetadataFromRequest === RUN TestExtractObjectLockMetadataFromRequest/Extract_COMPLIANCE_mode_and_retention_date === RUN TestExtractObjectLockMetadataFromRequest/Extract_GOVERNANCE_mode_and_retention_date === RUN TestExtractObjectLockMetadataFromRequest/Extract_legal_hold_ON === RUN TestExtractObjectLockMetadataFromRequest/Extract_legal_hold_OFF === RUN TestExtractObjectLockMetadataFromRequest/Handle_all_object_lock_headers_together === RUN TestExtractObjectLockMetadataFromRequest/Handle_no_object_lock_headers === RUN TestExtractObjectLockMetadataFromRequest/Handle_invalid_retention_date_-_should_return_error E0804 10:28:14.744564 s3api_object_handlers_put.go:579 extractObjectLockMetadataFromRequest: failed to parse retention until date, expected format: 2006-01-02T15:04:05Z07:00, error: parsing time "invalid-date" as "2006-01-02T15:04:05Z07:00": cannot parse "invalid-date" as "2006" === RUN TestExtractObjectLockMetadataFromRequest/Handle_invalid_legal_hold_value_-_should_return_error E0804 10:28:14.752400 s3api_object_handlers_put.go:593 extractObjectLockMetadataFromRequest: unexpected legal hold value provided, expected 'ON' or 'OFF' --- PASS: TestExtractObjectLockMetadataFromRequest (0.01s) --- PASS: TestExtractObjectLockMetadataFromRequest/Extract_COMPLIANCE_mode_and_retention_date (0.00s) --- PASS: TestExtractObjectLockMetadataFromRequest/Extract_GOVERNANCE_mode_and_retention_date (0.00s) --- PASS: TestExtractObjectLockMetadataFromRequest/Extract_legal_hold_ON (0.00s) --- PASS: TestExtractObjectLockMetadataFromRequest/Extract_legal_hold_OFF (0.00s) --- PASS: TestExtractObjectLockMetadataFromRequest/Handle_all_object_lock_headers_together (0.00s) --- PASS: TestExtractObjectLockMetadataFromRequest/Handle_no_object_lock_headers (0.00s) --- PASS: TestExtractObjectLockMetadataFromRequest/Handle_invalid_retention_date_-_should_return_error (0.00s) --- PASS: TestExtractObjectLockMetadataFromRequest/Handle_invalid_legal_hold_value_-_should_return_error (0.00s) === RUN TestAddObjectLockHeadersToResponse === RUN TestAddObjectLockHeadersToResponse/Add_COMPLIANCE_mode_and_retention_date_to_response === RUN TestAddObjectLockHeadersToResponse/Add_GOVERNANCE_mode_to_response === RUN TestAddObjectLockHeadersToResponse/Add_legal_hold_ON_to_response === RUN TestAddObjectLockHeadersToResponse/Add_legal_hold_OFF_to_response === RUN TestAddObjectLockHeadersToResponse/Add_all_object_lock_headers_to_response === RUN TestAddObjectLockHeadersToResponse/Handle_entry_with_no_object_lock_metadata === RUN TestAddObjectLockHeadersToResponse/Handle_entry_with_object_lock_mode_but_no_legal_hold_-_should_default_to_OFF === RUN TestAddObjectLockHeadersToResponse/Handle_entry_with_retention_date_but_no_legal_hold_-_should_default_to_OFF === RUN TestAddObjectLockHeadersToResponse/Handle_nil_entry_gracefully === RUN TestAddObjectLockHeadersToResponse/Handle_entry_with_nil_Extended_map_gracefully === RUN TestAddObjectLockHeadersToResponse/Handle_invalid_retention_timestamp_gracefully E0804 10:28:14.752724 s3api_object_handlers.go:612 addObjectLockHeadersToResponse: failed to parse retention until date from stored metadata (dateStr: invalid-timestamp): strconv.ParseInt: parsing "invalid-timestamp": invalid syntax --- PASS: TestAddObjectLockHeadersToResponse (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Add_COMPLIANCE_mode_and_retention_date_to_response (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Add_GOVERNANCE_mode_to_response (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Add_legal_hold_ON_to_response (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Add_legal_hold_OFF_to_response (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Add_all_object_lock_headers_to_response (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Handle_entry_with_no_object_lock_metadata (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Handle_entry_with_object_lock_mode_but_no_legal_hold_-_should_default_to_OFF (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Handle_entry_with_retention_date_but_no_legal_hold_-_should_default_to_OFF (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Handle_nil_entry_gracefully (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Handle_entry_with_nil_Extended_map_gracefully (0.00s) --- PASS: TestAddObjectLockHeadersToResponse/Handle_invalid_retention_timestamp_gracefully (0.00s) === RUN TestObjectLockHeaderRoundTrip === RUN TestObjectLockHeaderRoundTrip/Complete_round_trip_for_COMPLIANCE_mode === RUN TestObjectLockHeaderRoundTrip/Complete_round_trip_for_GOVERNANCE_mode --- PASS: TestObjectLockHeaderRoundTrip (0.00s) --- PASS: TestObjectLockHeaderRoundTrip/Complete_round_trip_for_COMPLIANCE_mode (0.00s) --- PASS: TestObjectLockHeaderRoundTrip/Complete_round_trip_for_GOVERNANCE_mode (0.00s) === RUN TestValidateObjectLockHeaders === RUN TestValidateObjectLockHeaders/Valid_COMPLIANCE_mode_with_retention_date_on_versioned_bucket === RUN TestValidateObjectLockHeaders/Valid_GOVERNANCE_mode_with_retention_date_on_versioned_bucket === RUN TestValidateObjectLockHeaders/Valid_legal_hold_ON_on_versioned_bucket === RUN TestValidateObjectLockHeaders/Valid_legal_hold_OFF_on_versioned_bucket === RUN TestValidateObjectLockHeaders/Invalid_object_lock_mode === RUN TestValidateObjectLockHeaders/Invalid_legal_hold_status === RUN TestValidateObjectLockHeaders/Object_lock_headers_on_non-versioned_bucket === RUN TestValidateObjectLockHeaders/Invalid_retention_date_format === RUN TestValidateObjectLockHeaders/Retention_date_in_the_past === RUN TestValidateObjectLockHeaders/Mode_without_retention_date === RUN TestValidateObjectLockHeaders/Retention_date_without_mode === RUN TestValidateObjectLockHeaders/Governance_bypass_header_on_non-versioned_bucket === RUN TestValidateObjectLockHeaders/Governance_bypass_header_on_versioned_bucket_should_pass === RUN TestValidateObjectLockHeaders/No_object_lock_headers_should_pass === RUN TestValidateObjectLockHeaders/Mixed_valid_headers_should_pass --- PASS: TestValidateObjectLockHeaders (0.00s) --- PASS: TestValidateObjectLockHeaders/Valid_COMPLIANCE_mode_with_retention_date_on_versioned_bucket (0.00s) --- PASS: TestValidateObjectLockHeaders/Valid_GOVERNANCE_mode_with_retention_date_on_versioned_bucket (0.00s) --- PASS: TestValidateObjectLockHeaders/Valid_legal_hold_ON_on_versioned_bucket (0.00s) --- PASS: TestValidateObjectLockHeaders/Valid_legal_hold_OFF_on_versioned_bucket (0.00s) --- PASS: TestValidateObjectLockHeaders/Invalid_object_lock_mode (0.00s) --- PASS: TestValidateObjectLockHeaders/Invalid_legal_hold_status (0.00s) --- PASS: TestValidateObjectLockHeaders/Object_lock_headers_on_non-versioned_bucket (0.00s) --- PASS: TestValidateObjectLockHeaders/Invalid_retention_date_format (0.00s) --- PASS: TestValidateObjectLockHeaders/Retention_date_in_the_past (0.00s) --- PASS: TestValidateObjectLockHeaders/Mode_without_retention_date (0.00s) --- PASS: TestValidateObjectLockHeaders/Retention_date_without_mode (0.00s) --- PASS: TestValidateObjectLockHeaders/Governance_bypass_header_on_non-versioned_bucket (0.00s) --- PASS: TestValidateObjectLockHeaders/Governance_bypass_header_on_versioned_bucket_should_pass (0.00s) --- PASS: TestValidateObjectLockHeaders/No_object_lock_headers_should_pass (0.00s) --- PASS: TestValidateObjectLockHeaders/Mixed_valid_headers_should_pass (0.00s) === RUN TestMapValidationErrorToS3Error === RUN TestMapValidationErrorToS3Error/ErrObjectLockVersioningRequired === RUN TestMapValidationErrorToS3Error/ErrInvalidObjectLockMode === RUN TestMapValidationErrorToS3Error/ErrInvalidLegalHoldStatus === RUN TestMapValidationErrorToS3Error/ErrInvalidRetentionDateFormat === RUN TestMapValidationErrorToS3Error/ErrRetentionDateMustBeFuture === RUN TestMapValidationErrorToS3Error/ErrObjectLockModeRequiresDate === RUN TestMapValidationErrorToS3Error/ErrRetentionDateRequiresMode === RUN TestMapValidationErrorToS3Error/ErrGovernanceBypassVersioningRequired === RUN TestMapValidationErrorToS3Error/Unknown_error_defaults_to_ErrInvalidRequest --- PASS: TestMapValidationErrorToS3Error (0.00s) --- PASS: TestMapValidationErrorToS3Error/ErrObjectLockVersioningRequired (0.00s) --- PASS: TestMapValidationErrorToS3Error/ErrInvalidObjectLockMode (0.00s) --- PASS: TestMapValidationErrorToS3Error/ErrInvalidLegalHoldStatus (0.00s) --- PASS: TestMapValidationErrorToS3Error/ErrInvalidRetentionDateFormat (0.00s) --- PASS: TestMapValidationErrorToS3Error/ErrRetentionDateMustBeFuture (0.00s) --- PASS: TestMapValidationErrorToS3Error/ErrObjectLockModeRequiresDate (0.00s) --- PASS: TestMapValidationErrorToS3Error/ErrRetentionDateRequiresMode (0.00s) --- PASS: TestMapValidationErrorToS3Error/ErrGovernanceBypassVersioningRequired (0.00s) --- PASS: TestMapValidationErrorToS3Error/Unknown_error_defaults_to_ErrInvalidRequest (0.00s) === RUN TestObjectLockPermissionLogic === RUN TestObjectLockPermissionLogic/Non-versioned_bucket_PUT_operation_logic s3api_object_lock_headers_test.go:626: For non-versioned buckets: s3api_object_lock_headers_test.go:627: - PUT operations overwrite existing objects s3api_object_lock_headers_test.go:628: - Must check existing object lock protections before allowing overwrite s3api_object_lock_headers_test.go:629: - Governance bypass headers can be used to override GOVERNANCE mode retention s3api_object_lock_headers_test.go:630: - COMPLIANCE mode retention and legal holds cannot be bypassed === RUN TestObjectLockPermissionLogic/Versioned_bucket_PUT_operation_logic s3api_object_lock_headers_test.go:643: For versioned buckets: s3api_object_lock_headers_test.go:644: - PUT operations create new versions without overwriting existing objects s3api_object_lock_headers_test.go:645: - No need to check existing object lock protections s3api_object_lock_headers_test.go:646: - Only validate object lock headers for the new version being created s3api_object_lock_headers_test.go:647: - Each version has independent object lock settings === RUN TestObjectLockPermissionLogic/Governance_bypass_header_validation s3api_object_lock_headers_test.go:656: Governance bypass behavior: s3api_object_lock_headers_test.go:657: - Only valid on versioned buckets (header validation) s3api_object_lock_headers_test.go:658: - For non-versioned buckets: Allows overwriting objects under GOVERNANCE retention s3api_object_lock_headers_test.go:659: - For versioned buckets: Not typically needed for PUT operations s3api_object_lock_headers_test.go:660: - Must have s3:BypassGovernanceRetention permission --- PASS: TestObjectLockPermissionLogic (0.00s) --- PASS: TestObjectLockPermissionLogic/Non-versioned_bucket_PUT_operation_logic (0.00s) --- PASS: TestObjectLockPermissionLogic/Versioned_bucket_PUT_operation_logic (0.00s) --- PASS: TestObjectLockPermissionLogic/Governance_bypass_header_validation (0.00s) === RUN TestValidateRetention === RUN TestValidateRetention/Valid_GOVERNANCE_retention === RUN TestValidateRetention/Valid_COMPLIANCE_retention === RUN TestValidateRetention/Missing_Mode === RUN TestValidateRetention/Missing_RetainUntilDate === RUN TestValidateRetention/Invalid_Mode === RUN TestValidateRetention/Past_RetainUntilDate === RUN TestValidateRetention/Empty_retention --- PASS: TestValidateRetention (0.00s) --- PASS: TestValidateRetention/Valid_GOVERNANCE_retention (0.00s) --- PASS: TestValidateRetention/Valid_COMPLIANCE_retention (0.00s) --- PASS: TestValidateRetention/Missing_Mode (0.00s) --- PASS: TestValidateRetention/Missing_RetainUntilDate (0.00s) --- PASS: TestValidateRetention/Invalid_Mode (0.00s) --- PASS: TestValidateRetention/Past_RetainUntilDate (0.00s) --- PASS: TestValidateRetention/Empty_retention (0.00s) === RUN TestValidateLegalHold === RUN TestValidateLegalHold/Valid_ON_status === RUN TestValidateLegalHold/Valid_OFF_status === RUN TestValidateLegalHold/Invalid_status === RUN TestValidateLegalHold/Empty_status === RUN TestValidateLegalHold/Lowercase_on === RUN TestValidateLegalHold/Lowercase_off --- PASS: TestValidateLegalHold (0.00s) --- PASS: TestValidateLegalHold/Valid_ON_status (0.00s) --- PASS: TestValidateLegalHold/Valid_OFF_status (0.00s) --- PASS: TestValidateLegalHold/Invalid_status (0.00s) --- PASS: TestValidateLegalHold/Empty_status (0.00s) --- PASS: TestValidateLegalHold/Lowercase_on (0.00s) --- PASS: TestValidateLegalHold/Lowercase_off (0.00s) === RUN TestParseObjectRetention === RUN TestParseObjectRetention/Valid_retention_XML === RUN TestParseObjectRetention/Valid_compliance_retention_XML === RUN TestParseObjectRetention/Empty_XML_body === RUN TestParseObjectRetention/Invalid_XML === RUN TestParseObjectRetention/Malformed_XML === RUN TestParseObjectRetention/Missing_Mode === RUN TestParseObjectRetention/Missing_RetainUntilDate --- PASS: TestParseObjectRetention (0.00s) --- PASS: TestParseObjectRetention/Valid_retention_XML (0.00s) --- PASS: TestParseObjectRetention/Valid_compliance_retention_XML (0.00s) --- PASS: TestParseObjectRetention/Empty_XML_body (0.00s) --- PASS: TestParseObjectRetention/Invalid_XML (0.00s) --- PASS: TestParseObjectRetention/Malformed_XML (0.00s) --- PASS: TestParseObjectRetention/Missing_Mode (0.00s) --- PASS: TestParseObjectRetention/Missing_RetainUntilDate (0.00s) === RUN TestParseObjectLegalHold === RUN TestParseObjectLegalHold/Valid_legal_hold_ON === RUN TestParseObjectLegalHold/Valid_legal_hold_OFF === RUN TestParseObjectLegalHold/Empty_XML_body === RUN TestParseObjectLegalHold/Invalid_XML === RUN TestParseObjectLegalHold/Missing_Status --- PASS: TestParseObjectLegalHold (0.00s) --- PASS: TestParseObjectLegalHold/Valid_legal_hold_ON (0.00s) --- PASS: TestParseObjectLegalHold/Valid_legal_hold_OFF (0.00s) --- PASS: TestParseObjectLegalHold/Empty_XML_body (0.00s) --- PASS: TestParseObjectLegalHold/Invalid_XML (0.00s) --- PASS: TestParseObjectLegalHold/Missing_Status (0.00s) === RUN TestParseObjectLockConfiguration === RUN TestParseObjectLockConfiguration/Valid_object_lock_configuration === RUN TestParseObjectLockConfiguration/Valid_object_lock_configuration_with_rule === RUN TestParseObjectLockConfiguration/Empty_XML_body === RUN TestParseObjectLockConfiguration/Invalid_XML --- PASS: TestParseObjectLockConfiguration (0.00s) --- PASS: TestParseObjectLockConfiguration/Valid_object_lock_configuration (0.00s) --- PASS: TestParseObjectLockConfiguration/Valid_object_lock_configuration_with_rule (0.00s) --- PASS: TestParseObjectLockConfiguration/Empty_XML_body (0.00s) --- PASS: TestParseObjectLockConfiguration/Invalid_XML (0.00s) === RUN TestValidateObjectLockConfiguration === RUN TestValidateObjectLockConfiguration/Valid_config_with_ObjectLockEnabled_only === RUN TestValidateObjectLockConfiguration/Missing_ObjectLockEnabled === RUN TestValidateObjectLockConfiguration/Valid_config_with_rule_and_days === RUN TestValidateObjectLockConfiguration/Valid_config_with_rule_and_years === RUN TestValidateObjectLockConfiguration/Invalid_ObjectLockEnabled_value === RUN TestValidateObjectLockConfiguration/Invalid_rule_-_missing_mode === RUN TestValidateObjectLockConfiguration/Invalid_rule_-_both_days_and_years === RUN TestValidateObjectLockConfiguration/Invalid_rule_-_neither_days_nor_years === RUN TestValidateObjectLockConfiguration/Invalid_rule_-_invalid_mode === RUN TestValidateObjectLockConfiguration/Invalid_rule_-_days_out_of_range === RUN TestValidateObjectLockConfiguration/Invalid_rule_-_years_out_of_range === RUN TestValidateObjectLockConfiguration/Invalid_rule_-_missing_DefaultRetention --- PASS: TestValidateObjectLockConfiguration (0.00s) --- PASS: TestValidateObjectLockConfiguration/Valid_config_with_ObjectLockEnabled_only (0.00s) --- PASS: TestValidateObjectLockConfiguration/Missing_ObjectLockEnabled (0.00s) --- PASS: TestValidateObjectLockConfiguration/Valid_config_with_rule_and_days (0.00s) --- PASS: TestValidateObjectLockConfiguration/Valid_config_with_rule_and_years (0.00s) --- PASS: TestValidateObjectLockConfiguration/Invalid_ObjectLockEnabled_value (0.00s) --- PASS: TestValidateObjectLockConfiguration/Invalid_rule_-_missing_mode (0.00s) --- PASS: TestValidateObjectLockConfiguration/Invalid_rule_-_both_days_and_years (0.00s) --- PASS: TestValidateObjectLockConfiguration/Invalid_rule_-_neither_days_nor_years (0.00s) --- PASS: TestValidateObjectLockConfiguration/Invalid_rule_-_invalid_mode (0.00s) --- PASS: TestValidateObjectLockConfiguration/Invalid_rule_-_days_out_of_range (0.00s) --- PASS: TestValidateObjectLockConfiguration/Invalid_rule_-_years_out_of_range (0.00s) --- PASS: TestValidateObjectLockConfiguration/Invalid_rule_-_missing_DefaultRetention (0.00s) === RUN TestValidateDefaultRetention === RUN TestValidateDefaultRetention/Valid_retention_with_days === RUN TestValidateDefaultRetention/Valid_retention_with_years === RUN TestValidateDefaultRetention/Missing_mode === RUN TestValidateDefaultRetention/Invalid_mode === RUN TestValidateDefaultRetention/Both_days_and_years_specified === RUN TestValidateDefaultRetention/Neither_days_nor_years_specified --- PASS: TestValidateDefaultRetention (0.00s) --- PASS: TestValidateDefaultRetention/Valid_retention_with_days (0.00s) --- PASS: TestValidateDefaultRetention/Valid_retention_with_years (0.00s) --- PASS: TestValidateDefaultRetention/Missing_mode (0.00s) --- PASS: TestValidateDefaultRetention/Invalid_mode (0.00s) --- PASS: TestValidateDefaultRetention/Both_days_and_years_specified (0.00s) --- PASS: TestValidateDefaultRetention/Neither_days_nor_years_specified (0.00s) === RUN TestGetRequestDataReader_ChunkedEncodingWithoutIAM I0804 10:28:14.754285 config_loader.go:109 Using explicit credential store: memory === RUN TestGetRequestDataReader_ChunkedEncodingWithoutIAM/RegularRequest s3api_put_object_helper_test.go:82: Test case: RegularRequest - Regular requests without chunked encoding should pass through unchanged === RUN TestGetRequestDataReader_ChunkedEncodingWithoutIAM/StreamingSignedWithoutIAM s3api_put_object_helper_test.go:82: Test case: StreamingSignedWithoutIAM - Streaming signed requests should fail when IAM is disabled === RUN TestGetRequestDataReader_ChunkedEncodingWithoutIAM/StreamingUnsignedWithoutIAM s3api_put_object_helper_test.go:82: Test case: StreamingUnsignedWithoutIAM - Streaming unsigned requests should be processed even when IAM is disabled --- PASS: TestGetRequestDataReader_ChunkedEncodingWithoutIAM (0.00s) --- PASS: TestGetRequestDataReader_ChunkedEncodingWithoutIAM/RegularRequest (0.00s) --- PASS: TestGetRequestDataReader_ChunkedEncodingWithoutIAM/StreamingSignedWithoutIAM (0.00s) --- PASS: TestGetRequestDataReader_ChunkedEncodingWithoutIAM/StreamingUnsignedWithoutIAM (0.00s) === RUN TestGetRequestDataReader_AuthTypeDetection I0804 10:28:14.754382 config_loader.go:109 Using explicit credential store: memory === RUN TestGetRequestDataReader_AuthTypeDetection/ChunkedDataWithChecksum --- PASS: TestGetRequestDataReader_AuthTypeDetection (0.00s) --- PASS: TestGetRequestDataReader_AuthTypeDetection/ChunkedDataWithChecksum (0.00s) === RUN TestGetRequestDataReader_IAMEnabled I0804 10:28:14.754422 config_loader.go:109 Using explicit credential store: memory === RUN TestGetRequestDataReader_IAMEnabled/StreamingUnsignedWithIAMEnabled --- PASS: TestGetRequestDataReader_IAMEnabled (0.00s) --- PASS: TestGetRequestDataReader_IAMEnabled/StreamingUnsignedWithIAMEnabled (0.00s) === RUN TestAuthTypeDetection === RUN TestAuthTypeDetection/StreamingUnsigned === RUN TestAuthTypeDetection/StreamingSigned === RUN TestAuthTypeDetection/Regular --- PASS: TestAuthTypeDetection (0.00s) --- PASS: TestAuthTypeDetection/StreamingUnsigned (0.00s) --- PASS: TestAuthTypeDetection/StreamingSigned (0.00s) --- PASS: TestAuthTypeDetection/Regular (0.00s) === RUN TestCopyObjectResponse 2025-08-04T10:28:14.754494144Z12345678 --- PASS: TestCopyObjectResponse (0.00s) === RUN TestCopyPartResponse 2025-08-04T10:28:14.754522117Z12345678 --- PASS: TestCopyPartResponse (0.00s) === RUN TestParseTagsHeader === RUN TestParseTagsHeader/simple_tags === RUN TestParseTagsHeader/URL_encoded_timestamp_-_issue_#7040_scenario === RUN TestParseTagsHeader/URL_encoded_key_and_value === RUN TestParseTagsHeader/empty_value === RUN TestParseTagsHeader/special_characters_encoded === RUN TestParseTagsHeader/invalid_URL_encoding === RUN TestParseTagsHeader/plus_signs_and_equals_in_values --- PASS: TestParseTagsHeader (0.00s) --- PASS: TestParseTagsHeader/simple_tags (0.00s) --- PASS: TestParseTagsHeader/URL_encoded_timestamp_-_issue_#7040_scenario (0.00s) --- PASS: TestParseTagsHeader/URL_encoded_key_and_value (0.00s) --- PASS: TestParseTagsHeader/empty_value (0.00s) --- PASS: TestParseTagsHeader/special_characters_encoded (0.00s) --- PASS: TestParseTagsHeader/invalid_URL_encoding (0.00s) --- PASS: TestParseTagsHeader/plus_signs_and_equals_in_values (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/s3api 1.086s === RUN TestValidateConfiguration === RUN TestValidateConfiguration/nil_config === RUN TestValidateConfiguration/empty_rules === RUN TestValidateConfiguration/valid_single_rule === RUN TestValidateConfiguration/too_many_rules === RUN TestValidateConfiguration/invalid_method === RUN TestValidateConfiguration/empty_origins === RUN TestValidateConfiguration/invalid_origin_with_multiple_wildcards === RUN TestValidateConfiguration/negative_MaxAgeSeconds --- PASS: TestValidateConfiguration (0.00s) --- PASS: TestValidateConfiguration/nil_config (0.00s) --- PASS: TestValidateConfiguration/empty_rules (0.00s) --- PASS: TestValidateConfiguration/valid_single_rule (0.00s) --- PASS: TestValidateConfiguration/too_many_rules (0.00s) --- PASS: TestValidateConfiguration/invalid_method (0.00s) --- PASS: TestValidateConfiguration/empty_origins (0.00s) --- PASS: TestValidateConfiguration/invalid_origin_with_multiple_wildcards (0.00s) --- PASS: TestValidateConfiguration/negative_MaxAgeSeconds (0.00s) === RUN TestValidateOrigin === RUN TestValidateOrigin/empty_origin === RUN TestValidateOrigin/valid_origin === RUN TestValidateOrigin/wildcard_origin === RUN TestValidateOrigin/valid_wildcard_origin === RUN TestValidateOrigin/https_wildcard_origin === RUN TestValidateOrigin/invalid_wildcard_origin === RUN TestValidateOrigin/multiple_wildcards --- PASS: TestValidateOrigin (0.00s) --- PASS: TestValidateOrigin/empty_origin (0.00s) --- PASS: TestValidateOrigin/valid_origin (0.00s) --- PASS: TestValidateOrigin/wildcard_origin (0.00s) --- PASS: TestValidateOrigin/valid_wildcard_origin (0.00s) --- PASS: TestValidateOrigin/https_wildcard_origin (0.00s) --- PASS: TestValidateOrigin/invalid_wildcard_origin (0.00s) --- PASS: TestValidateOrigin/multiple_wildcards (0.00s) === RUN TestParseRequest === RUN TestParseRequest/simple_GET_request === RUN TestParseRequest/OPTIONS_preflight_request === RUN TestParseRequest/request_without_origin --- PASS: TestParseRequest (0.00s) --- PASS: TestParseRequest/simple_GET_request (0.00s) --- PASS: TestParseRequest/OPTIONS_preflight_request (0.00s) --- PASS: TestParseRequest/request_without_origin (0.00s) === RUN TestMatchesOrigin === RUN TestMatchesOrigin/wildcard_match === RUN TestMatchesOrigin/exact_match === RUN TestMatchesOrigin/no_match === RUN TestMatchesOrigin/wildcard_subdomain_match === RUN TestMatchesOrigin/wildcard_subdomain_no_match === RUN TestMatchesOrigin/multiple_origins_with_match --- PASS: TestMatchesOrigin (0.00s) --- PASS: TestMatchesOrigin/wildcard_match (0.00s) --- PASS: TestMatchesOrigin/exact_match (0.00s) --- PASS: TestMatchesOrigin/no_match (0.00s) --- PASS: TestMatchesOrigin/wildcard_subdomain_match (0.00s) --- PASS: TestMatchesOrigin/wildcard_subdomain_no_match (0.00s) --- PASS: TestMatchesOrigin/multiple_origins_with_match (0.00s) === RUN TestMatchesHeader === RUN TestMatchesHeader/empty_allowed_headers === RUN TestMatchesHeader/wildcard_match === RUN TestMatchesHeader/exact_match === RUN TestMatchesHeader/case_insensitive_match === RUN TestMatchesHeader/no_match === RUN TestMatchesHeader/wildcard_prefix_match --- PASS: TestMatchesHeader (0.00s) --- PASS: TestMatchesHeader/empty_allowed_headers (0.00s) --- PASS: TestMatchesHeader/wildcard_match (0.00s) --- PASS: TestMatchesHeader/exact_match (0.00s) --- PASS: TestMatchesHeader/case_insensitive_match (0.00s) --- PASS: TestMatchesHeader/no_match (0.00s) --- PASS: TestMatchesHeader/wildcard_prefix_match (0.00s) === RUN TestEvaluateRequest === RUN TestEvaluateRequest/matching_first_rule === RUN TestEvaluateRequest/matching_second_rule === RUN TestEvaluateRequest/no_matching_rule === RUN TestEvaluateRequest/preflight_request === RUN TestEvaluateRequest/preflight_request_with_forbidden_header === RUN TestEvaluateRequest/request_without_origin --- PASS: TestEvaluateRequest (0.00s) --- PASS: TestEvaluateRequest/matching_first_rule (0.00s) --- PASS: TestEvaluateRequest/matching_second_rule (0.00s) --- PASS: TestEvaluateRequest/no_matching_rule (0.00s) --- PASS: TestEvaluateRequest/preflight_request (0.00s) --- PASS: TestEvaluateRequest/preflight_request_with_forbidden_header (0.00s) --- PASS: TestEvaluateRequest/request_without_origin (0.00s) === RUN TestApplyHeaders === RUN TestApplyHeaders/nil_response === RUN TestApplyHeaders/complete_response === RUN TestApplyHeaders/with_credentials --- PASS: TestApplyHeaders (0.00s) --- PASS: TestApplyHeaders/nil_response (0.00s) --- PASS: TestApplyHeaders/complete_response (0.00s) --- PASS: TestApplyHeaders/with_credentials (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/s3api/cors 0.015s === RUN TestPostPolicyForm --- PASS: TestPostPolicyForm (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/s3api/policy 0.015s === RUN TestPolicyEngine --- PASS: TestPolicyEngine (0.00s) === RUN TestConditionEvaluators === RUN TestConditionEvaluators/StringEquals_-_match === RUN TestConditionEvaluators/StringEquals_-_no_match === RUN TestConditionEvaluators/StringLike_-_wildcard_match === RUN TestConditionEvaluators/StringLike_-_wildcard_no_match === RUN TestConditionEvaluators/NumericEquals_-_match === RUN TestConditionEvaluators/NumericLessThan_-_match === RUN TestConditionEvaluators/NumericLessThan_-_no_match === RUN TestConditionEvaluators/IpAddress_-_CIDR_match === RUN TestConditionEvaluators/IpAddress_-_CIDR_no_match === RUN TestConditionEvaluators/Bool_-_true_match === RUN TestConditionEvaluators/Bool_-_false_match === RUN TestConditionEvaluators/Bool_-_no_match --- PASS: TestConditionEvaluators (0.00s) --- PASS: TestConditionEvaluators/StringEquals_-_match (0.00s) --- PASS: TestConditionEvaluators/StringEquals_-_no_match (0.00s) --- PASS: TestConditionEvaluators/StringLike_-_wildcard_match (0.00s) --- PASS: TestConditionEvaluators/StringLike_-_wildcard_no_match (0.00s) --- PASS: TestConditionEvaluators/NumericEquals_-_match (0.00s) --- PASS: TestConditionEvaluators/NumericLessThan_-_match (0.00s) --- PASS: TestConditionEvaluators/NumericLessThan_-_no_match (0.00s) --- PASS: TestConditionEvaluators/IpAddress_-_CIDR_match (0.00s) --- PASS: TestConditionEvaluators/IpAddress_-_CIDR_no_match (0.00s) --- PASS: TestConditionEvaluators/Bool_-_true_match (0.00s) --- PASS: TestConditionEvaluators/Bool_-_false_match (0.00s) --- PASS: TestConditionEvaluators/Bool_-_no_match (0.00s) === RUN TestConvertIdentityToPolicy --- PASS: TestConvertIdentityToPolicy (0.00s) === RUN TestPolicyValidation === RUN TestPolicyValidation/Valid_policy === RUN TestPolicyValidation/Invalid_version === RUN TestPolicyValidation/Missing_action === RUN TestPolicyValidation/Invalid_JSON --- PASS: TestPolicyValidation (0.00s) --- PASS: TestPolicyValidation/Valid_policy (0.00s) --- PASS: TestPolicyValidation/Invalid_version (0.00s) --- PASS: TestPolicyValidation/Missing_action (0.00s) --- PASS: TestPolicyValidation/Invalid_JSON (0.00s) === RUN TestPatternMatching === RUN TestPatternMatching/Exact_match === RUN TestPatternMatching/Wildcard_match === RUN TestPatternMatching/Wildcard_no_match === RUN TestPatternMatching/Full_wildcard === RUN TestPatternMatching/Question_mark_wildcard --- PASS: TestPatternMatching (0.00s) --- PASS: TestPatternMatching/Exact_match (0.00s) --- PASS: TestPatternMatching/Wildcard_match (0.00s) --- PASS: TestPatternMatching/Wildcard_no_match (0.00s) --- PASS: TestPatternMatching/Full_wildcard (0.00s) --- PASS: TestPatternMatching/Question_mark_wildcard (0.00s) === RUN TestExtractConditionValuesFromRequest --- PASS: TestExtractConditionValuesFromRequest (0.00s) === RUN TestPolicyEvaluationWithConditions --- PASS: TestPolicyEvaluationWithConditions (0.00s) === RUN TestResourceArn === RUN TestResourceArn/Bucket_only === RUN TestResourceArn/Bucket_and_object === RUN TestResourceArn/Bucket_and_nested_object --- PASS: TestResourceArn (0.00s) --- PASS: TestResourceArn/Bucket_only (0.00s) --- PASS: TestResourceArn/Bucket_and_object (0.00s) --- PASS: TestResourceArn/Bucket_and_nested_object (0.00s) === RUN TestActionConversion === RUN TestActionConversion/Already_has_s3_prefix === RUN TestActionConversion/Add_s3_prefix --- PASS: TestActionConversion (0.00s) --- PASS: TestActionConversion/Already_has_s3_prefix (0.00s) --- PASS: TestActionConversion/Add_s3_prefix (0.00s) === RUN TestPolicyEngineForRequest --- PASS: TestPolicyEngineForRequest (0.00s) === RUN TestWildcardMatching === RUN TestWildcardMatching/Exact_match === RUN TestWildcardMatching/Single_wildcard === RUN TestWildcardMatching/Prefix_wildcard === RUN TestWildcardMatching/Suffix_wildcard === RUN TestWildcardMatching/Middle_wildcard === RUN TestWildcardMatching/No_match === RUN TestWildcardMatching/Multiple_wildcards --- PASS: TestWildcardMatching (0.00s) --- PASS: TestWildcardMatching/Exact_match (0.00s) --- PASS: TestWildcardMatching/Single_wildcard (0.00s) --- PASS: TestWildcardMatching/Prefix_wildcard (0.00s) --- PASS: TestWildcardMatching/Suffix_wildcard (0.00s) --- PASS: TestWildcardMatching/Middle_wildcard (0.00s) --- PASS: TestWildcardMatching/No_match (0.00s) --- PASS: TestWildcardMatching/Multiple_wildcards (0.00s) === RUN TestCompilePolicy --- PASS: TestCompilePolicy (0.00s) === RUN TestNewPolicyBackedIAMWithLegacy --- PASS: TestNewPolicyBackedIAMWithLegacy (0.00s) === RUN TestMatchesWildcard === RUN TestMatchesWildcard/Exact_match === RUN TestMatchesWildcard/Single_wildcard === RUN TestMatchesWildcard/Empty_string_with_wildcard === RUN TestMatchesWildcard/Prefix_wildcard === RUN TestMatchesWildcard/Suffix_wildcard === RUN TestMatchesWildcard/Middle_wildcard === RUN TestMatchesWildcard/Multiple_wildcards === RUN TestMatchesWildcard/No_match === RUN TestMatchesWildcard/Single_question_mark === RUN TestMatchesWildcard/Multiple_question_marks === RUN TestMatchesWildcard/Question_mark_no_match === RUN TestMatchesWildcard/Mixed_wildcards === RUN TestMatchesWildcard/Empty_pattern === RUN TestMatchesWildcard/Empty_pattern_with_string === RUN TestMatchesWildcard/Pattern_with_string_empty === RUN TestMatchesWildcard/Pattern_with_regex_special_chars === RUN TestMatchesWildcard/Pattern_with_dots === RUN TestMatchesWildcard/Pattern_with_dots_and_wildcard --- PASS: TestMatchesWildcard (0.00s) --- PASS: TestMatchesWildcard/Exact_match (0.00s) --- PASS: TestMatchesWildcard/Single_wildcard (0.00s) --- PASS: TestMatchesWildcard/Empty_string_with_wildcard (0.00s) --- PASS: TestMatchesWildcard/Prefix_wildcard (0.00s) --- PASS: TestMatchesWildcard/Suffix_wildcard (0.00s) --- PASS: TestMatchesWildcard/Middle_wildcard (0.00s) --- PASS: TestMatchesWildcard/Multiple_wildcards (0.00s) --- PASS: TestMatchesWildcard/No_match (0.00s) --- PASS: TestMatchesWildcard/Single_question_mark (0.00s) --- PASS: TestMatchesWildcard/Multiple_question_marks (0.00s) --- PASS: TestMatchesWildcard/Question_mark_no_match (0.00s) --- PASS: TestMatchesWildcard/Mixed_wildcards (0.00s) --- PASS: TestMatchesWildcard/Empty_pattern (0.00s) --- PASS: TestMatchesWildcard/Empty_pattern_with_string (0.00s) --- PASS: TestMatchesWildcard/Pattern_with_string_empty (0.00s) --- PASS: TestMatchesWildcard/Pattern_with_regex_special_chars (0.00s) --- PASS: TestMatchesWildcard/Pattern_with_dots (0.00s) --- PASS: TestMatchesWildcard/Pattern_with_dots_and_wildcard (0.00s) === RUN TestWildcardMatcher === RUN TestWildcardMatcher/Simple_star_pattern === RUN TestWildcardMatcher/Question_mark_pattern === RUN TestWildcardMatcher/Mixed_pattern --- PASS: TestWildcardMatcher (0.00s) --- PASS: TestWildcardMatcher/Simple_star_pattern (0.00s) --- PASS: TestWildcardMatcher/Question_mark_pattern (0.00s) --- PASS: TestWildcardMatcher/Mixed_pattern (0.00s) === RUN TestCompileWildcardPattern === RUN TestCompileWildcardPattern/Star_wildcard === RUN TestCompileWildcardPattern/Question_mark_wildcard === RUN TestCompileWildcardPattern/Mixed_wildcards --- PASS: TestCompileWildcardPattern (0.00s) --- PASS: TestCompileWildcardPattern/Star_wildcard (0.00s) --- PASS: TestCompileWildcardPattern/Question_mark_wildcard (0.00s) --- PASS: TestCompileWildcardPattern/Mixed_wildcards (0.00s) === RUN TestWildcardMatcherCaching --- PASS: TestWildcardMatcherCaching (0.00s) === RUN TestFastMatchesWildcard === RUN TestFastMatchesWildcard/s3:Get*_s3:GetObject === RUN TestFastMatchesWildcard/s3:Put*_s3:GetObject === RUN TestFastMatchesWildcard/arn:aws:s3:::bucket/*_arn:aws:s3:::bucket/file.txt === RUN TestFastMatchesWildcard/user:admin-*_user:admin-john === RUN TestFastMatchesWildcard/user:admin-*_user:guest-john --- PASS: TestFastMatchesWildcard (0.00s) --- PASS: TestFastMatchesWildcard/s3:Get*_s3:GetObject (0.00s) --- PASS: TestFastMatchesWildcard/s3:Put*_s3:GetObject (0.00s) --- PASS: TestFastMatchesWildcard/arn:aws:s3:::bucket/*_arn:aws:s3:::bucket/file.txt (0.00s) --- PASS: TestFastMatchesWildcard/user:admin-*_user:admin-john (0.00s) --- PASS: TestFastMatchesWildcard/user:admin-*_user:guest-john (0.00s) === RUN TestWildcardMatcherCacheBounding --- PASS: TestWildcardMatcherCacheBounding (0.00s) === RUN TestWildcardMatcherCacheLRU --- PASS: TestWildcardMatcherCacheLRU (0.00s) === RUN TestWildcardMatcherCacheClear --- PASS: TestWildcardMatcherCacheClear (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/s3api/policy_engine 0.011s ? github.com/seaweedfs/seaweedfs/weed/s3api/s3_constants [no test files] === RUN Test_verifyBucketName --- PASS: Test_verifyBucketName (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/s3api/s3bucket 0.010s ? github.com/seaweedfs/seaweedfs/weed/s3api/s3err [no test files] ? github.com/seaweedfs/seaweedfs/weed/security [no test files] === RUN TestSequencer I0804 10:28:13.724558 snowflake_sequencer.go:21 use snowflake seq id generator, nodeid:for_test hex_of_nodeid: 1 1b1804b956c01000 1b1804b956c01001 1b1804b956c01002 1b1804b956c01003 1b1804b956c01004 1b1804b956c01005 1b1804b956c01006 1b1804b956c01007 1b1804b956c01008 1b1804b956c01009 1b1804b956c0100a 1b1804b956c0100b 1b1804b956c0100c 1b1804b956c0100d 1b1804b956c0100e 1b1804b956c0100f 1b1804b956c01010 1b1804b956c01011 1b1804b956c01012 1b1804b956c01013 1b1804b956c01014 1b1804b956c01015 1b1804b956c01016 1b1804b956c01017 1b1804b956c01018 1b1804b956c01019 1b1804b956c0101a 1b1804b956c0101b 1b1804b956c0101c 1b1804b956c0101d 1b1804b956c0101e 1b1804b956c0101f 1b1804b956c01020 1b1804b956c01021 1b1804b956c01022 1b1804b956c01023 1b1804b956c01024 1b1804b956c01025 1b1804b956c01026 1b1804b956c01027 1b1804b956c01028 1b1804b956c01029 1b1804b956c0102a 1b1804b956c0102b 1b1804b956c0102c 1b1804b956c0102d 1b1804b956c0102e 1b1804b956c0102f 1b1804b956c01030 1b1804b956c01031 1b1804b956c01032 1b1804b956c01033 1b1804b956c01034 1b1804b956c01035 1b1804b956c01036 1b1804b956c01037 1b1804b956c01038 1b1804b956c01039 1b1804b956c0103a 1b1804b956c0103b 1b1804b956c0103c 1b1804b956c0103d 1b1804b956c0103e 1b1804b956c0103f 1b1804b956c01040 1b1804b956c01041 1b1804b956c01042 1b1804b956c01043 1b1804b956c01044 1b1804b956c01045 1b1804b956c01046 1b1804b956c01047 1b1804b956c01048 1b1804b956c01049 1b1804b956c0104a 1b1804b956c0104b 1b1804b956c0104c 1b1804b956c0104d 1b1804b956c0104e 1b1804b956c0104f 1b1804b956c01050 1b1804b956c01051 1b1804b956c01052 1b1804b956c01053 1b1804b956c01054 1b1804b956c01055 1b1804b956c01056 1b1804b956c01057 1b1804b956c01058 1b1804b956c01059 1b1804b956c0105a 1b1804b956c0105b 1b1804b956c0105c 1b1804b956c0105d 1b1804b956c0105e 1b1804b956c0105f 1b1804b956c01060 1b1804b956c01061 1b1804b956c01062 1b1804b956c01063 --- PASS: TestSequencer (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/sequence 0.009s === RUN TestParseURL --- PASS: TestParseURL (0.00s) === RUN TestPtrie matched1 /topics/abc matched1 /topics/abc/d matched2 /topics/abc matched2 /topics/abc/d --- PASS: TestPtrie (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/server 0.045s ? github.com/seaweedfs/seaweedfs/weed/server/constants [no test files] === RUN TestToBreadcrumb === RUN TestToBreadcrumb/empty === RUN TestToBreadcrumb/test1 === RUN TestToBreadcrumb/test2 === RUN TestToBreadcrumb/test3 --- PASS: TestToBreadcrumb (0.00s) --- PASS: TestToBreadcrumb/empty (0.00s) --- PASS: TestToBreadcrumb/test1 (0.00s) --- PASS: TestToBreadcrumb/test2 (0.00s) --- PASS: TestToBreadcrumb/test3 (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/server/filer_ui 0.013s ? github.com/seaweedfs/seaweedfs/weed/server/master_ui [no test files] ? github.com/seaweedfs/seaweedfs/weed/server/volume_server_ui [no test files] ? github.com/seaweedfs/seaweedfs/weed/sftpd [no test files] ? github.com/seaweedfs/seaweedfs/weed/sftpd/auth [no test files] ? github.com/seaweedfs/seaweedfs/weed/sftpd/user [no test files] ? github.com/seaweedfs/seaweedfs/weed/sftpd/utils [no test files] === RUN TestCollectCollectionsForVolumeIds --- PASS: TestCollectCollectionsForVolumeIds (0.01s) === RUN TestParseReplicaPlacementArg using master default replica placement "123" for EC volumes using replica placement "021" for EC volumes --- PASS: TestParseReplicaPlacementArg (0.00s) === RUN TestEcDistribution => 192.168.1.5:8080 27010 => 192.168.1.6:8080 17420 => 192.168.1.1:8080 17330 => 192.168.1.4:8080 1900 => 192.168.1.2:8080 1540 --- PASS: TestEcDistribution (0.00s) === RUN TestPickRackToBalanceShardsInto --- PASS: TestPickRackToBalanceShardsInto (0.00s) === RUN TestPickEcNodeToBalanceShardsInto --- PASS: TestPickEcNodeToBalanceShardsInto (0.00s) === RUN TestCountFreeShardSlots === RUN TestCountFreeShardSlots/topology_#1,_free_HDD_shards === RUN TestCountFreeShardSlots/topology_#1,_no_free_SSD_shards_available === RUN TestCountFreeShardSlots/topology_#2,_no_negative_free_HDD_shards === RUN TestCountFreeShardSlots/topology_#2,_no_free_SSD_shards_available --- PASS: TestCountFreeShardSlots (0.01s) --- PASS: TestCountFreeShardSlots/topology_#1,_free_HDD_shards (0.00s) --- PASS: TestCountFreeShardSlots/topology_#1,_no_free_SSD_shards_available (0.00s) --- PASS: TestCountFreeShardSlots/topology_#2,_no_negative_free_HDD_shards (0.01s) --- PASS: TestCountFreeShardSlots/topology_#2,_no_free_SSD_shards_available (0.00s) === RUN TestCommandEcBalanceSmall balanceEcVolumes c1 dn2 moves ec shard 2.3 to dn1 dn2 moves ec shard 2.4 to dn1 dn2 moves ec shard 2.5 to dn1 dn2 moves ec shard 2.6 to dn1 dn2 moves ec shard 2.0 to dn1 dn2 moves ec shard 2.1 to dn1 dn2 moves ec shard 2.2 to dn1 dn1 moves ec shard 1.4 to dn2 dn1 moves ec shard 1.5 to dn2 dn1 moves ec shard 1.6 to dn2 dn1 moves ec shard 1.0 to dn2 dn1 moves ec shard 1.1 to dn2 dn1 moves ec shard 1.2 to dn2 dn1 moves ec shard 1.3 to dn2 --- PASS: TestCommandEcBalanceSmall (0.00s) === RUN TestCommandEcBalanceNothingToMove balanceEcVolumes c1 --- PASS: TestCommandEcBalanceNothingToMove (0.00s) === RUN TestCommandEcBalanceAddNewServers balanceEcVolumes c1 --- PASS: TestCommandEcBalanceAddNewServers (0.00s) === RUN TestCommandEcBalanceAddNewRacks balanceEcVolumes c1 dn2 moves ec shard 1.10 to dn4 dn1 moves ec shard 1.0 to dn3 dn2 moves ec shard 1.7 to dn3 dn2 moves ec shard 1.8 to dn4 dn1 moves ec shard 1.1 to dn3 dn1 moves ec shard 1.2 to dn4 dn2 moves ec shard 1.9 to dn4 dn2 moves ec shard 2.2 to dn4 dn2 moves ec shard 2.3 to dn3 dn1 moves ec shard 2.7 to dn3 dn2 moves ec shard 2.0 to dn4 dn2 moves ec shard 2.1 to dn4 dn1 moves ec shard 2.8 to dn3 dn1 moves ec shard 2.9 to dn4 --- PASS: TestCommandEcBalanceAddNewRacks (0.00s) === RUN TestCommandEcBalanceVolumeEvenButRackUneven balanceEcVolumes c1 dn_shared moves ec shards 1.0 to dn3 --- PASS: TestCommandEcBalanceVolumeEvenButRackUneven (0.00s) === RUN TestCircuitBreakerShell --- PASS: TestCircuitBreakerShell (0.00s) === RUN TestIsGoodMove replication: 100 expected false name: test 100 move to wrong data centers replication: 100 expected true name: test 100 move to spread into proper data centers replication: 001 expected false name: test move to the same node replication: 001 expected false name: test move to the same rack, but existing node replication: 001 expected true name: test move to the same rack, a new node replication: 010 expected false name: test 010 move all to the same rack replication: 010 expected true name: test 010 move to spread racks replication: 010 expected true name: test 010 move to spread racks replication: 011 expected true name: test 011 switch which rack has more replicas replication: 011 expected true name: test 011 move the lonely replica to another racks replication: 011 expected false name: test 011 move to wrong racks replication: 011 expected false name: test 011 move all to the same rack --- PASS: TestIsGoodMove (0.00s) === RUN TestBalance hdd 0.10 0.21:0.06 moving volume 31 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.20:0.06 moving volume 29 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.20:0.06 moving volume 30 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.20:0.06 moving volume 27 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.19:0.06 moving volume 28 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.19:0.06 moving volume collection4_7 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.19:0.06 moving volume collection0_25 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.18:0.06 moving volume collection3_9 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.18:0.06 moving volume collection1_80 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.18:0.06 moving volume collection1_69 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.18:0.06 moving volume 4 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.17:0.06 moving volume collection1_84 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.17:0.07 moving volume 2 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.17:0.07 moving volume collection1_63 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.17:0.07 moving volume 6 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.17:0.07 moving volume collection1_74 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.16:0.07 moving volume 3 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.16:0.07 moving volume collection1_85 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.16:0.07 moving volume collection1_54 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.16:0.07 moving volume collection1_81 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.15:0.07 moving volume collection1_97 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.15:0.07 moving volume collection1_56 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.15:0.07 moving volume collection1_174 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.15:0.07 moving volume collection2_380 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.15:0.07 moving volume collection1_105 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.14:0.07 moving volume collection1_215 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.14:0.07 moving volume collection0_24 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.14:0.07 moving volume collection1_173 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.14:0.07 moving volume collection1_107 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.07 moving volume 5 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_136 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_238 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_240 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection0_26 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_167 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_66 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_65 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_57 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_62 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_67 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_138 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_70 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_90 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_72 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_71 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_75 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_58 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_177 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.08 moving volume collection1_87 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.13:0.09 moving volume collection1_73 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_77 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_116 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_83 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_91 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_79 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_64 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_61 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_76 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_59 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_139 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_96 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_144 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_95 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_92 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_86 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_60 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.09 moving volume collection1_55 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection2_379 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection1_94 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection1_82 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection1_128 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection1_89 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection1_53 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection2_357 192.168.1.2:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection1_99 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.12:0.10 moving volume collection1_111 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume collection1_176 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume collection4_7 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection3_9 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection1_169 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume 1 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection1_197 192.168.1.4:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume 4 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume 2 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection1_126 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume collection2_381 192.168.1.2:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection1_165 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume 6 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume 3 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection1_232 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume collection0_25 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection2_345 192.168.1.4:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection1_135 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume collection1_68 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection1_117 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume collection1_74 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection2_378 192.168.1.1:8080 => 192.168.1.5:8080 hdd 0.10 0.11:0.10 moving volume collection1_194 192.168.1.1:8080 => 192.168.1.6:8080 hdd 0.10 0.11:0.10 moving volume collection1_179 192.168.1.2:8080 => 192.168.1.5:8080 --- PASS: TestBalance (0.00s) === RUN TestVolumeSelection collect volumes quiet for: 0 seconds --- PASS: TestVolumeSelection (0.00s) === RUN TestDeleteEmptySelection --- PASS: TestDeleteEmptySelection (0.00s) === RUN TestShouldSkipVolume --- PASS: TestShouldSkipVolume (0.00s) === RUN TestSatisfyReplicaPlacementComplicated replication: 100 expected false name: test 100 negative replication: 100 expected true name: test 100 positive replication: 022 expected true name: test 022 positive replication: 022 expected false name: test 022 negative replication: 210 expected true name: test 210 moved from 200 positive replication: 210 expected false name: test 210 moved from 200 negative extra dc replication: 210 expected false name: test 210 moved from 200 negative extra data node --- PASS: TestSatisfyReplicaPlacementComplicated (0.00s) === RUN TestSatisfyReplicaPlacement01x replication: 011 expected true name: test 011 same existing rack replication: 011 expected false name: test 011 negative replication: 011 expected true name: test 011 different existing racks replication: 011 expected false name: test 011 different existing racks negative --- PASS: TestSatisfyReplicaPlacement01x (0.00s) === RUN TestSatisfyReplicaPlacement00x replication: 001 expected true name: test 001 replication: 002 expected true name: test 002 positive replication: 002 expected false name: test 002 negative, repeat the same node replication: 002 expected false name: test 002 negative, enough node already --- PASS: TestSatisfyReplicaPlacement00x (0.00s) === RUN TestSatisfyReplicaPlacement100 replication: 100 expected true name: test 100 --- PASS: TestSatisfyReplicaPlacement100 (0.00s) === RUN TestMisplacedChecking replication: 001 expected true name: test 001 replication: 010 expected false name: test 010 replication: 011 expected false name: test 011 replication: 110 expected true name: test 110 replication: 100 expected true name: test 100 --- PASS: TestMisplacedChecking (0.00s) === RUN TestPickingMisplacedVolumeToDelete replication: 001 name: test 001 command_volume_fix_replication_test.go:435: test 001: picked dn2 001 replication: 100 name: test 100 command_volume_fix_replication_test.go:435: test 100: picked dn2 100 --- PASS: TestPickingMisplacedVolumeToDelete (0.00s) === RUN TestSatisfyReplicaCurrentLocation === RUN TestSatisfyReplicaCurrentLocation/test_001 === RUN TestSatisfyReplicaCurrentLocation/test_010 === RUN TestSatisfyReplicaCurrentLocation/test_011 === RUN TestSatisfyReplicaCurrentLocation/test_110 === RUN TestSatisfyReplicaCurrentLocation/test_100 --- PASS: TestSatisfyReplicaCurrentLocation (0.00s) --- PASS: TestSatisfyReplicaCurrentLocation/test_001 (0.00s) --- PASS: TestSatisfyReplicaCurrentLocation/test_010 (0.00s) --- PASS: TestSatisfyReplicaCurrentLocation/test_011 (0.00s) --- PASS: TestSatisfyReplicaCurrentLocation/test_110 (0.00s) --- PASS: TestSatisfyReplicaCurrentLocation/test_100 (0.00s) === RUN TestParsing --- PASS: TestParsing (0.17s) === RUN TestVolumeServerEvacuate moving volume collection0_15 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection0_21 192.168.1.4:8080 => 192.168.1.6:8080 moving volume collection0_22 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection0_23 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection0_24 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection0_25 192.168.1.4:8080 => 192.168.1.2:8080 moving volume 27 192.168.1.4:8080 => 192.168.1.2:8080 moving volume 28 192.168.1.4:8080 => 192.168.1.2:8080 moving volume 29 192.168.1.4:8080 => 192.168.1.2:8080 moving volume 30 192.168.1.4:8080 => 192.168.1.2:8080 moving volume 31 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_33 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_38 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_51 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_52 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_54 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_63 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_69 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_74 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_80 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_84 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_85 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_97 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_98 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_105 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_106 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_112 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_116 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_119 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_128 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_133 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_136 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_138 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_140 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_144 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_161 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_173 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_174 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_197 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection1_219 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_263 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_272 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_291 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_299 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_301 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_302 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_339 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_345 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_355 192.168.1.4:8080 => 192.168.1.2:8080 moving volume collection2_373 192.168.1.4:8080 => 192.168.1.2:8080 --- PASS: TestVolumeServerEvacuate (0.01s) PASS ok github.com/seaweedfs/seaweedfs/weed/shell 0.493s === RUN TestRobinCounter --- PASS: TestRobinCounter (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/stats 0.033s === RUN TestUnUsedSpace --- PASS: TestUnUsedSpace (0.00s) === RUN TestFirstInvalidIndex I0804 10:28:13.740485 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:13.740640 volume_loading.go:157 loading memory index /tmp/TestFirstInvalidIndex4177973743/001/1.idx to memory --- PASS: TestFirstInvalidIndex (0.00s) === RUN TestFastLoadingNeedleMapMetrics I0804 10:28:13.768351 needle_map_metric_test.go:26 FileCount expected 10000 actual 11994 I0804 10:28:13.768422 needle_map_metric_test.go:27 DeletedSize expected 1653 actual 1675 I0804 10:28:13.768428 needle_map_metric_test.go:28 ContentSize expected 10000 actual 10000 I0804 10:28:13.768432 needle_map_metric_test.go:29 DeletedCount expected 1653 actual 3669 I0804 10:28:13.768435 needle_map_metric_test.go:30 MaxFileKey expected 10000 actual 10000 --- PASS: TestFastLoadingNeedleMapMetrics (0.03s) === RUN TestSpaceCalculation === RUN TestSpaceCalculation/Large_volume,_small_preallocate store_vacuum_test.go:47: Volume size: 261993005056 bytes, Space needed: 288193458995 bytes (110.00% of volume size) === RUN TestSpaceCalculation/Small_volume,_large_preallocate store_vacuum_test.go:47: Volume size: 104857600 bytes, Space needed: 1181116006 bytes (1126.40% of volume size) --- PASS: TestSpaceCalculation (0.00s) --- PASS: TestSpaceCalculation/Large_volume,_small_preallocate (0.00s) --- PASS: TestSpaceCalculation/Small_volume,_large_preallocate (0.00s) === RUN TestBinarySearch --- PASS: TestBinarySearch (0.00s) === RUN TestSortVolumeInfos --- PASS: TestSortVolumeInfos (0.00s) === RUN TestReadNeedMetaWithWritesAndUpdates I0804 10:28:13.768716 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:13.768725 volume_loading.go:157 loading memory index /tmp/TestReadNeedMetaWithWritesAndUpdates2384238053/001/1.idx to memory --- PASS: TestReadNeedMetaWithWritesAndUpdates (0.00s) === RUN TestReadNeedMetaWithDeletesThenWrites I0804 10:28:13.769221 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:13.769230 volume_loading.go:157 loading memory index /tmp/TestReadNeedMetaWithDeletesThenWrites3916986849/001/1.idx to memory --- PASS: TestReadNeedMetaWithDeletesThenWrites (0.00s) === RUN TestMakeDiff --- PASS: TestMakeDiff (0.00s) === RUN TestMemIndexCompaction I0804 10:28:13.769599 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:13.769607 volume_loading.go:157 loading memory index /tmp/TestMemIndexCompaction2430575167/001/1.idx to memory I0804 10:28:13.924055 needle_map_memory.go:111 loading idx from offset 0 for file: /tmp/TestMemIndexCompaction2430575167/001/1.cpx volume_vacuum_test.go:92: compaction speed: 49100475.30 bytes/s I0804 10:28:14.136740 volume_vacuum.go:114 Committing volume 1 vacuuming... I0804 10:28:14.267945 needle_map_memory.go:111 loading idx from offset 9695 for file: /tmp/TestMemIndexCompaction2430575167/001/1.cpx I0804 10:28:14.278925 volume_loading.go:98 readSuperBlock volume 1 version 3 I0804 10:28:14.278947 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:14.278959 volume_loading.go:154 updating memory compact index /tmp/TestMemIndexCompaction2430575167/001/1.idx volume_vacuum_test.go:110: realRecordCount:29695, v.FileCount():29695 mm.DeletedCount():9816 I0804 10:28:14.279016 volume_loading.go:98 readSuperBlock volume 1 version 3 I0804 10:28:14.279031 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:14.279039 volume_loading.go:157 loading memory index /tmp/TestMemIndexCompaction2430575167/001/1.idx to memory --- PASS: TestMemIndexCompaction (0.55s) === RUN TestLDBIndexCompaction I0804 10:28:14.319541 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:14.319555 volume_loading.go:172 loading leveldb index /tmp/TestLDBIndexCompaction506197926/001/1.ldb I0804 10:28:14.320673 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestLDBIndexCompaction506197926/001/1.ldb, watermark 0, num of entries:0 I0804 10:28:14.321598 needle_map_leveldb.go:66 Loading /tmp/TestLDBIndexCompaction506197926/001/1.ldb... , watermark: 0 I0804 10:28:14.568190 needle_map_leveldb.go:338 loading idx to leveldb from offset 0 for file: /tmp/TestLDBIndexCompaction506197926/001/1.cpx volume_vacuum_test.go:92: compaction speed: 39774322.57 bytes/s I0804 10:28:15.002850 volume_vacuum.go:114 Committing volume 1 vacuuming... I0804 10:28:15.160508 needle_map_leveldb.go:338 loading idx to leveldb from offset 9729 for file: /tmp/TestLDBIndexCompaction506197926/001/1.cpx I0804 10:28:15.291910 volume_loading.go:98 readSuperBlock volume 1 version 3 I0804 10:28:15.291995 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:15.292011 volume_loading.go:169 updating leveldb index /tmp/TestLDBIndexCompaction506197926/001/1.ldb volume_vacuum_test.go:105: watermark from levelDB: 20000, realWatermark: 20000, nm.recordCount: 29729, realRecordCount:29729, fileCount=29729, deletedcount:9722 I0804 10:28:15.332058 volume_loading.go:98 readSuperBlock volume 1 version 3 I0804 10:28:15.332075 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:15.338813 volume_loading.go:172 loading leveldb index /tmp/TestLDBIndexCompaction506197926/001/1.ldb I0804 10:28:15.340382 needle_map_leveldb.go:66 Loading /tmp/TestLDBIndexCompaction506197926/001/1.ldb... , watermark: 20000 --- PASS: TestLDBIndexCompaction (1.13s) === RUN TestSearchVolumesWithDeletedNeedles I0804 10:28:15.453493 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:15.453504 volume_loading.go:157 loading memory index /tmp/TestSearchVolumesWithDeletedNeedles1040117197/001/1.idx to memory offset: 8880, isLast: false --- PASS: TestSearchVolumesWithDeletedNeedles (0.00s) === RUN TestDestroyEmptyVolumeWithOnlyEmpty I0804 10:28:15.453782 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:15.453788 volume_loading.go:157 loading memory index /tmp/TestDestroyEmptyVolumeWithOnlyEmpty1425803651/001/1.idx to memory --- PASS: TestDestroyEmptyVolumeWithOnlyEmpty (0.00s) === RUN TestDestroyEmptyVolumeWithoutOnlyEmpty I0804 10:28:15.453975 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:15.453980 volume_loading.go:157 loading memory index /tmp/TestDestroyEmptyVolumeWithoutOnlyEmpty653032056/001/1.idx to memory --- PASS: TestDestroyEmptyVolumeWithoutOnlyEmpty (0.00s) === RUN TestDestroyNonemptyVolumeWithOnlyEmpty I0804 10:28:15.454141 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:15.454146 volume_loading.go:157 loading memory index /tmp/TestDestroyNonemptyVolumeWithOnlyEmpty415478475/001/1.idx to memory --- PASS: TestDestroyNonemptyVolumeWithOnlyEmpty (0.00s) === RUN TestDestroyNonemptyVolumeWithoutOnlyEmpty I0804 10:28:15.454270 volume_loading.go:139 checking volume data integrity for volume 1 I0804 10:28:15.454278 volume_loading.go:157 loading memory index /tmp/TestDestroyNonemptyVolumeWithoutOnlyEmpty2840251104/001/1.idx to memory --- PASS: TestDestroyNonemptyVolumeWithoutOnlyEmpty (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/storage 1.740s ? github.com/seaweedfs/seaweedfs/weed/storage/backend [no test files] === RUN TestMemoryMapMaxSizeReadWrite --- PASS: TestMemoryMapMaxSizeReadWrite (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/storage/backend/memory_map 0.011s ? github.com/seaweedfs/seaweedfs/weed/storage/backend/rclone_backend [no test files] ? github.com/seaweedfs/seaweedfs/weed/storage/backend/s3_backend [no test files] === RUN TestEncodingDecoding I0804 10:28:15.751724 ec_encoder.go:81 encodeDatFile 1.dat size:2590912 --- PASS: TestEncodingDecoding (0.32s) === RUN TestLocateData [{BlockIndex:5 InnerBlockOffset:100 Size:9900 IsLargeBlock:true LargeBlockRowsCount:1} {BlockIndex:6 InnerBlockOffset:0 Size:10000 IsLargeBlock:true LargeBlockRowsCount:1} {BlockIndex:7 InnerBlockOffset:0 Size:10000 IsLargeBlock:true LargeBlockRowsCount:1} {BlockIndex:8 InnerBlockOffset:0 Size:10000 IsLargeBlock:true LargeBlockRowsCount:1} {BlockIndex:9 InnerBlockOffset:0 Size:10000 IsLargeBlock:true LargeBlockRowsCount:1} {BlockIndex:0 InnerBlockOffset:0 Size:1 IsLargeBlock:false LargeBlockRowsCount:1}] --- PASS: TestLocateData (0.00s) === RUN TestLocateData2 --- PASS: TestLocateData2 (0.00s) === RUN TestLocateData3 {BlockIndex:8876 InnerBlockOffset:912752 Size:112568 IsLargeBlock:false LargeBlockRowsCount:2} --- PASS: TestLocateData3 (0.00s) === RUN TestPositioning offset: 31300679656 size: 1167 offset: 11513014944 size: 66044 offset: 26311863528 size: 26823 interval: {BlockIndex:14852 InnerBlockOffset:994536 Size:26856 IsLargeBlock:false LargeBlockRowsCount:1}, shardId: 2, shardOffset: 2631871720 --- PASS: TestPositioning (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/storage/erasure_coding 0.338s ? github.com/seaweedfs/seaweedfs/weed/storage/idx [no test files] === RUN TestParseFileIdFromString --- PASS: TestParseFileIdFromString (0.00s) === RUN TestParseKeyHash --- PASS: TestParseKeyHash (0.00s) === RUN TestAppend --- PASS: TestAppend (0.00s) === RUN TestWriteNeedle_CompatibilityWithLegacy === RUN TestWriteNeedle_CompatibilityWithLegacy/Version1 === RUN TestWriteNeedle_CompatibilityWithLegacy/Version2 === RUN TestWriteNeedle_CompatibilityWithLegacy/Version3 --- PASS: TestWriteNeedle_CompatibilityWithLegacy (0.00s) --- PASS: TestWriteNeedle_CompatibilityWithLegacy/Version1 (0.00s) --- PASS: TestWriteNeedle_CompatibilityWithLegacy/Version2 (0.00s) --- PASS: TestWriteNeedle_CompatibilityWithLegacy/Version3 (0.00s) === RUN TestNewVolumeId volume_id_test.go:11: a is not legal volume id, strconv.ParseUint: parsing "a": invalid syntax --- PASS: TestNewVolumeId (0.00s) === RUN TestVolumeId_String --- PASS: TestVolumeId_String (0.00s) === RUN TestVolumeId_Next --- PASS: TestVolumeId_Next (0.00s) === RUN TestTTLReadWrite --- PASS: TestTTLReadWrite (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/storage/needle 0.027s === RUN TestMemoryUsage Each 12.92 Bytes Alloc = 20 MiB TotalAlloc = 46 MiB Sys = 37 MiB NumGC = 8 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 969.662032ms Each 12.70 Bytes Alloc = 41 MiB TotalAlloc = 92 MiB Sys = 65 MiB NumGC = 10 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 973.295886ms Each 12.63 Bytes Alloc = 61 MiB TotalAlloc = 137 MiB Sys = 89 MiB NumGC = 12 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 1.053291382s Each 12.60 Bytes Alloc = 81 MiB TotalAlloc = 183 MiB Sys = 117 MiB NumGC = 13 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 1.20337544s Each 12.57 Bytes Alloc = 101 MiB TotalAlloc = 228 MiB Sys = 138 MiB NumGC = 14 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 1.059982687s Each 12.56 Bytes Alloc = 121 MiB TotalAlloc = 274 MiB Sys = 158 MiB NumGC = 15 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 1.119963399s Each 12.55 Bytes Alloc = 142 MiB TotalAlloc = 319 MiB Sys = 178 MiB NumGC = 16 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 963.39348ms Each 12.54 Bytes Alloc = 162 MiB TotalAlloc = 365 MiB Sys = 198 MiB NumGC = 17 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 753.228982ms Each 12.54 Bytes Alloc = 182 MiB TotalAlloc = 410 MiB Sys = 218 MiB NumGC = 18 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 736.671249ms Each 12.53 Bytes Alloc = 202 MiB TotalAlloc = 456 MiB Sys = 243 MiB NumGC = 19 CompactMap = 1539351/1749659 elements on 2198 segments, 87.98% efficiency Taken = 795.743928ms --- PASS: TestMemoryUsage (9.63s) === RUN TestSegmentBsearchKey === RUN TestSegmentBsearchKey/empty_segment === RUN TestSegmentBsearchKey/new_key,_insert_at_beggining === RUN TestSegmentBsearchKey/new_key,_insert_at_end === RUN TestSegmentBsearchKey/new_key,_insert_second === RUN TestSegmentBsearchKey/new_key,_insert_in_middle === RUN TestSegmentBsearchKey/key_#1 === RUN TestSegmentBsearchKey/key_#2 === RUN TestSegmentBsearchKey/key_#3 === RUN TestSegmentBsearchKey/key_#4 === RUN TestSegmentBsearchKey/key_#5 --- PASS: TestSegmentBsearchKey (0.00s) --- PASS: TestSegmentBsearchKey/empty_segment (0.00s) --- PASS: TestSegmentBsearchKey/new_key,_insert_at_beggining (0.00s) --- PASS: TestSegmentBsearchKey/new_key,_insert_at_end (0.00s) --- PASS: TestSegmentBsearchKey/new_key,_insert_second (0.00s) --- PASS: TestSegmentBsearchKey/new_key,_insert_in_middle (0.00s) --- PASS: TestSegmentBsearchKey/key_#1 (0.00s) --- PASS: TestSegmentBsearchKey/key_#2 (0.00s) --- PASS: TestSegmentBsearchKey/key_#3 (0.00s) --- PASS: TestSegmentBsearchKey/key_#4 (0.00s) --- PASS: TestSegmentBsearchKey/key_#5 (0.00s) === RUN TestSegmentSet --- PASS: TestSegmentSet (0.00s) === RUN TestSegmentSetOrdering --- PASS: TestSegmentSetOrdering (0.06s) === RUN TestSegmentGet === RUN TestSegmentGet/invalid_key === RUN TestSegmentGet/key_#1 === RUN TestSegmentGet/key_#2 === RUN TestSegmentGet/key_#3 --- PASS: TestSegmentGet (0.00s) --- PASS: TestSegmentGet/invalid_key (0.00s) --- PASS: TestSegmentGet/key_#1 (0.00s) --- PASS: TestSegmentGet/key_#2 (0.00s) --- PASS: TestSegmentGet/key_#3 (0.00s) === RUN TestSegmentDelete --- PASS: TestSegmentDelete (0.00s) === RUN TestSegmentForKey === RUN TestSegmentForKey/first_segment === RUN TestSegmentForKey/second_segment,_gapless === RUN TestSegmentForKey/gapped_segment --- PASS: TestSegmentForKey (0.00s) --- PASS: TestSegmentForKey/first_segment (0.00s) --- PASS: TestSegmentForKey/second_segment,_gapless (0.00s) --- PASS: TestSegmentForKey/gapped_segment (0.00s) === RUN TestAscendingVisit --- PASS: TestAscendingVisit (0.00s) === RUN TestRandomInsert --- PASS: TestRandomInsert (0.63s) PASS ok github.com/seaweedfs/seaweedfs/weed/storage/needle_map 10.353s === RUN TestMemoryUsage Each 15.12 Bytes Alloc = 24 MiB TotalAlloc = 114 MiB Sys = 45 MiB NumGC = 16 Taken = 997.78621ms Each 14.90 Bytes Alloc = 48 MiB TotalAlloc = 227 MiB Sys = 81 MiB NumGC = 20 Taken = 1.031257513s Each 14.83 Bytes Alloc = 71 MiB TotalAlloc = 341 MiB Sys = 125 MiB NumGC = 23 Taken = 1.059707941s Each 14.79 Bytes Alloc = 95 MiB TotalAlloc = 454 MiB Sys = 157 MiB NumGC = 25 Taken = 1.252648318s Each 14.77 Bytes Alloc = 119 MiB TotalAlloc = 568 MiB Sys = 197 MiB NumGC = 27 Taken = 1.065151407s Each 14.75 Bytes Alloc = 143 MiB TotalAlloc = 681 MiB Sys = 246 MiB NumGC = 28 Taken = 1.184617694s Each 14.74 Bytes Alloc = 166 MiB TotalAlloc = 795 MiB Sys = 270 MiB NumGC = 29 Taken = 927.482384ms Each 14.73 Bytes Alloc = 190 MiB TotalAlloc = 908 MiB Sys = 294 MiB NumGC = 30 Taken = 763.892774ms Each 14.73 Bytes Alloc = 214 MiB TotalAlloc = 1022 MiB Sys = 322 MiB NumGC = 31 Taken = 742.330098ms Each 14.72 Bytes Alloc = 238 MiB TotalAlloc = 1135 MiB Sys = 346 MiB NumGC = 32 Taken = 832.072398ms --- PASS: TestMemoryUsage (9.86s) === RUN TestSnowflakeSequencer I0804 10:28:25.610963 snowflake_sequencer.go:21 use snowflake seq id generator, nodeid:for_test hex_of_nodeid: 1 --- PASS: TestSnowflakeSequencer (0.05s) === RUN TestOverflow2 needle key: 150073 needle key: 150076 needle key: 150088 needle key: 150089 needle key: 150124 needle key: 150137 needle key: 150145 needle key: 150147 needle key: 150158 needle key: 150162 --- PASS: TestOverflow2 (0.00s) === RUN TestIssue52 key 10002 ok true 10002, 1250, 10002 key 10002 ok true 10002, 1250, 10002 --- PASS: TestIssue52 (0.00s) === RUN TestCompactMap --- PASS: TestCompactMap (0.05s) === RUN TestOverflow overflow[ 0 ]: 1 overflow[ 1 ]: 2 overflow[ 2 ]: 3 overflow[ 3 ]: 4 overflow[ 4 ]: 5 overflow[ 0 ]: 1 size -12 overflow[ 1 ]: 2 size 12 overflow[ 2 ]: 3 size 24 overflow[ 3 ]: 4 size -12 overflow[ 4 ]: 5 size 12 overflow[ 0 ]: 1 overflow[ 1 ]: 2 overflow[ 2 ]: 3 overflow[ 3 ]: 4 overflow[ 4 ]: 5 overflow[ 0 ]: 1 overflow[ 1 ]: 2 overflow[ 2 ]: 3 overflow[ 3 ]: 4 overflow[ 4 ]: 5 --- PASS: TestOverflow (0.00s) === RUN TestCompactSection_Get compact_map_test.go:204: 1574318345753513987 compact_map_test.go:215: 1574318350048481283 --- PASS: TestCompactSection_Get (0.98s) === RUN TestCompactSection_PutOutOfOrderItemBeyondLookBackWindow --- PASS: TestCompactSection_PutOutOfOrderItemBeyondLookBackWindow (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/storage/needle_map/old 10.946s === RUN TestReplicaPlacementSerialDeserial --- PASS: TestReplicaPlacementSerialDeserial (0.00s) === RUN TestReplicaPlacementHasReplication === RUN TestReplicaPlacementHasReplication/empty_replica_placement === RUN TestReplicaPlacementHasReplication/no_replication === RUN TestReplicaPlacementHasReplication/same_rack_replication === RUN TestReplicaPlacementHasReplication/diff_rack_replication === RUN TestReplicaPlacementHasReplication/DC_replication === RUN TestReplicaPlacementHasReplication/full_replication --- PASS: TestReplicaPlacementHasReplication (0.00s) --- PASS: TestReplicaPlacementHasReplication/empty_replica_placement (0.00s) --- PASS: TestReplicaPlacementHasReplication/no_replication (0.00s) --- PASS: TestReplicaPlacementHasReplication/same_rack_replication (0.00s) --- PASS: TestReplicaPlacementHasReplication/diff_rack_replication (0.00s) --- PASS: TestReplicaPlacementHasReplication/DC_replication (0.00s) --- PASS: TestReplicaPlacementHasReplication/full_replication (0.00s) === RUN TestSuperBlockReadWrite --- PASS: TestSuperBlockReadWrite (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/storage/super_block 0.013s ? github.com/seaweedfs/seaweedfs/weed/storage/types [no test files] ? github.com/seaweedfs/seaweedfs/weed/storage/volume_info [no test files] ? github.com/seaweedfs/seaweedfs/weed/telemetry [no test files] === RUN TestRemoveDataCenter data: map[dc1:map[rack1:map[server111:map[limit:3 volumes:[map[id:1 size:12312] map[id:2 size:12312] map[id:3 size:12312]]] server112:map[limit:10 volumes:[map[id:4 size:12312] map[id:5 size:12312] map[id:6 size:12312]]]] rack2:map[server121:map[limit:4 volumes:[map[id:4 size:12312] map[id:5 size:12312] map[id:6 size:12312]]] server122:map[limit:4 volumes:[]] server123:map[limit:5 volumes:[map[id:2 size:12312] map[id:3 size:12312] map[id:4 size:12312]]]]] dc2:map[] dc3:map[rack2:map[server321:map[limit:4 volumes:[map[id:1 size:12312] map[id:3 size:12312] map[id:5 size:12312]]]]]] I0804 10:28:16.209430 node.go:250 weedfs adds child dc1 I0804 10:28:16.209768 node.go:250 weedfs:dc1 adds child rack1 I0804 10:28:16.209786 node.go:250 weedfs:dc1:rack1 adds child server111 I0804 10:28:16.209792 node.go:250 weedfs:dc1:rack1:server111 adds child I0804 10:28:16.209804 node.go:250 weedfs:dc1:rack1 adds child server112 I0804 10:28:16.209807 node.go:250 weedfs:dc1:rack1:server112 adds child I0804 10:28:16.209812 node.go:250 weedfs:dc1 adds child rack2 I0804 10:28:16.209821 node.go:250 weedfs:dc1:rack2 adds child server123 I0804 10:28:16.209824 node.go:250 weedfs:dc1:rack2:server123 adds child I0804 10:28:16.209828 node.go:250 weedfs:dc1:rack2 adds child server121 I0804 10:28:16.209833 node.go:250 weedfs:dc1:rack2:server121 adds child I0804 10:28:16.209838 node.go:250 weedfs:dc1:rack2 adds child server122 I0804 10:28:16.209841 node.go:250 weedfs:dc1:rack2:server122 adds child I0804 10:28:16.209844 node.go:250 weedfs adds child dc2 I0804 10:28:16.209847 node.go:250 weedfs adds child dc3 I0804 10:28:16.209849 node.go:250 weedfs:dc3 adds child rack2 I0804 10:28:16.209851 node.go:250 weedfs:dc3:rack2 adds child server321 I0804 10:28:16.209854 node.go:250 weedfs:dc3:rack2:server321 adds child I0804 10:28:16.209860 node.go:264 weedfs removes dc2 I0804 10:28:16.209862 node.go:264 weedfs removes dc3 --- PASS: TestRemoveDataCenter (0.00s) === RUN TestHandlingVolumeServerHeartbeat I0804 10:28:16.209894 node.go:250 weedfs adds child dc1 I0804 10:28:16.209897 node.go:250 weedfs:dc1 adds child rack1 I0804 10:28:16.209901 node.go:250 weedfs:dc1:rack1 adds child 127.0.0.1:34534 I0804 10:28:16.209904 node.go:250 weedfs:dc1:rack1:127.0.0.1:34534 adds child I0804 10:28:16.209907 node.go:250 weedfs:dc1:rack1:127.0.0.1:34534 adds child ssd I0804 10:28:16.209952 volume_layout.go:417 Volume 1 becomes writable I0804 10:28:16.209960 volume_layout.go:417 Volume 2 becomes writable I0804 10:28:16.209963 volume_layout.go:417 Volume 3 becomes writable I0804 10:28:16.209966 volume_layout.go:417 Volume 4 becomes writable I0804 10:28:16.209968 volume_layout.go:417 Volume 5 becomes writable I0804 10:28:16.209971 volume_layout.go:417 Volume 6 becomes writable I0804 10:28:16.209973 volume_layout.go:417 Volume 7 becomes writable I0804 10:28:16.209977 volume_layout.go:417 Volume 8 becomes writable I0804 10:28:16.209979 volume_layout.go:417 Volume 9 becomes writable I0804 10:28:16.209982 volume_layout.go:417 Volume 10 becomes writable I0804 10:28:16.209985 volume_layout.go:417 Volume 11 becomes writable I0804 10:28:16.209988 volume_layout.go:417 Volume 12 becomes writable I0804 10:28:16.209991 volume_layout.go:417 Volume 13 becomes writable I0804 10:28:16.209993 volume_layout.go:417 Volume 14 becomes writable I0804 10:28:16.210011 data_node.go:81 Deleting volume id: 7 I0804 10:28:16.210015 data_node.go:81 Deleting volume id: 8 I0804 10:28:16.210017 data_node.go:81 Deleting volume id: 9 I0804 10:28:16.210019 data_node.go:81 Deleting volume id: 10 I0804 10:28:16.210021 data_node.go:81 Deleting volume id: 11 I0804 10:28:16.210024 data_node.go:81 Deleting volume id: 12 I0804 10:28:16.210026 data_node.go:81 Deleting volume id: 13 I0804 10:28:16.210028 data_node.go:81 Deleting volume id: 14 I0804 10:28:16.210034 topology.go:329 removing volume info: Id:7, Size:25432, ReplicaPlacement:000, Collection:, Version:3, FileCount:2343, DeleteCount:345, DeletedByteCount:34524, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210049 volume_layout.go:229 volume 7 does not have enough copies I0804 10:28:16.210052 volume_layout.go:237 volume 7 remove from writable I0804 10:28:16.210055 volume_layout.go:405 Volume 7 becomes unwritable I0804 10:28:16.210057 topology.go:329 removing volume info: Id:8, Size:25432, ReplicaPlacement:000, Collection:, Version:3, FileCount:2343, DeleteCount:345, DeletedByteCount:34524, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210061 volume_layout.go:229 volume 8 does not have enough copies I0804 10:28:16.210071 volume_layout.go:237 volume 8 remove from writable I0804 10:28:16.210073 volume_layout.go:405 Volume 8 becomes unwritable I0804 10:28:16.210075 topology.go:329 removing volume info: Id:9, Size:25432, ReplicaPlacement:000, Collection:, Version:3, FileCount:2343, DeleteCount:345, DeletedByteCount:34524, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210078 volume_layout.go:229 volume 9 does not have enough copies I0804 10:28:16.210080 volume_layout.go:237 volume 9 remove from writable I0804 10:28:16.210083 volume_layout.go:405 Volume 9 becomes unwritable I0804 10:28:16.210085 topology.go:329 removing volume info: Id:10, Size:25432, ReplicaPlacement:000, Collection:, Version:3, FileCount:2343, DeleteCount:345, DeletedByteCount:34524, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210087 volume_layout.go:229 volume 10 does not have enough copies I0804 10:28:16.210089 volume_layout.go:237 volume 10 remove from writable I0804 10:28:16.210091 volume_layout.go:405 Volume 10 becomes unwritable I0804 10:28:16.210093 topology.go:329 removing volume info: Id:11, Size:25432, ReplicaPlacement:000, Collection:, Version:3, FileCount:2343, DeleteCount:345, DeletedByteCount:34524, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210096 volume_layout.go:229 volume 11 does not have enough copies I0804 10:28:16.210098 volume_layout.go:237 volume 11 remove from writable I0804 10:28:16.210100 volume_layout.go:405 Volume 11 becomes unwritable I0804 10:28:16.210102 topology.go:329 removing volume info: Id:12, Size:25432, ReplicaPlacement:000, Collection:, Version:3, FileCount:2343, DeleteCount:345, DeletedByteCount:34524, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210107 volume_layout.go:229 volume 12 does not have enough copies I0804 10:28:16.210109 volume_layout.go:237 volume 12 remove from writable I0804 10:28:16.210111 volume_layout.go:405 Volume 12 becomes unwritable I0804 10:28:16.210113 topology.go:329 removing volume info: Id:13, Size:25432, ReplicaPlacement:000, Collection:, Version:3, FileCount:2343, DeleteCount:345, DeletedByteCount:34524, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210116 volume_layout.go:229 volume 13 does not have enough copies I0804 10:28:16.210118 volume_layout.go:237 volume 13 remove from writable I0804 10:28:16.210120 volume_layout.go:405 Volume 13 becomes unwritable I0804 10:28:16.210122 topology.go:329 removing volume info: Id:14, Size:25432, ReplicaPlacement:000, Collection:, Version:3, FileCount:2343, DeleteCount:345, DeletedByteCount:34524, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210125 volume_layout.go:229 volume 14 does not have enough copies I0804 10:28:16.210127 volume_layout.go:237 volume 14 remove from writable I0804 10:28:16.210129 volume_layout.go:405 Volume 14 becomes unwritable I0804 10:28:16.210136 topology.go:329 removing volume info: Id:3, Size:0, ReplicaPlacement:000, Collection:, Version:3, FileCount:0, DeleteCount:0, DeletedByteCount:0, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210139 volume_layout.go:229 volume 3 does not have enough copies I0804 10:28:16.210141 volume_layout.go:237 volume 3 remove from writable I0804 10:28:16.210143 volume_layout.go:405 Volume 3 becomes unwritable I0804 10:28:16.210147 volume_layout.go:417 Volume 3 becomes writable after add volume id 1 after add volume id 2 after add volume id 3 after add volume id 4 after add volume id 5 after add volume id 6 after add writable volume id 1 after add writable volume id 2 after add writable volume id 4 after add writable volume id 5 after add writable volume id 6 after add writable volume id 3 I0804 10:28:16.210173 topology_event_handling.go:86 Removing Volume 1 from the dead volume server 127.0.0.1:34534 I0804 10:28:16.210178 volume_layout.go:456 Volume 1 has 0 replica, less than required 1 I0804 10:28:16.210180 volume_layout.go:405 Volume 1 becomes unwritable I0804 10:28:16.210182 topology_event_handling.go:86 Removing Volume 2 from the dead volume server 127.0.0.1:34534 I0804 10:28:16.210185 volume_layout.go:456 Volume 2 has 0 replica, less than required 1 I0804 10:28:16.210187 volume_layout.go:405 Volume 2 becomes unwritable I0804 10:28:16.210189 topology_event_handling.go:86 Removing Volume 3 from the dead volume server 127.0.0.1:34534 I0804 10:28:16.210192 volume_layout.go:456 Volume 3 has 0 replica, less than required 1 I0804 10:28:16.210194 volume_layout.go:405 Volume 3 becomes unwritable I0804 10:28:16.210196 topology_event_handling.go:86 Removing Volume 4 from the dead volume server 127.0.0.1:34534 I0804 10:28:16.210199 volume_layout.go:456 Volume 4 has 0 replica, less than required 1 I0804 10:28:16.210201 volume_layout.go:405 Volume 4 becomes unwritable I0804 10:28:16.210203 topology_event_handling.go:86 Removing Volume 5 from the dead volume server 127.0.0.1:34534 I0804 10:28:16.210205 volume_layout.go:456 Volume 5 has 0 replica, less than required 1 I0804 10:28:16.210207 volume_layout.go:405 Volume 5 becomes unwritable I0804 10:28:16.210209 topology_event_handling.go:86 Removing Volume 6 from the dead volume server 127.0.0.1:34534 I0804 10:28:16.210212 volume_layout.go:456 Volume 6 has 0 replica, less than required 1 I0804 10:28:16.210214 volume_layout.go:405 Volume 6 becomes unwritable I0804 10:28:16.210221 node.go:264 weedfs:dc1:rack1 removes 127.0.0.1:34534 --- PASS: TestHandlingVolumeServerHeartbeat (0.00s) === RUN TestAddRemoveVolume I0804 10:28:16.210243 node.go:250 weedfs adds child dc1 I0804 10:28:16.210246 node.go:250 weedfs:dc1 adds child rack1 I0804 10:28:16.210249 node.go:250 weedfs:dc1:rack1 adds child 127.0.0.1:34534 I0804 10:28:16.210252 node.go:250 weedfs:dc1:rack1:127.0.0.1:34534 adds child I0804 10:28:16.210255 node.go:250 weedfs:dc1:rack1:127.0.0.1:34534 adds child ssd I0804 10:28:16.210287 volume_layout.go:417 Volume 1 becomes writable I0804 10:28:16.210293 topology.go:329 removing volume info: Id:1, Size:100, ReplicaPlacement:000, Collection:xcollection, Version:3, FileCount:123, DeleteCount:23, DeletedByteCount:45, ReadOnly:false from 127.0.0.1:34534 I0804 10:28:16.210297 volume_layout.go:229 volume 1 does not have enough copies I0804 10:28:16.210299 volume_layout.go:237 volume 1 remove from writable I0804 10:28:16.210301 volume_layout.go:405 Volume 1 becomes unwritable --- PASS: TestAddRemoveVolume (0.00s) === RUN TestListCollections I0804 10:28:16.210320 node.go:250 weedfs adds child dc1 I0804 10:28:16.210323 node.go:250 weedfs:dc1 adds child rack1 I0804 10:28:16.210325 node.go:250 weedfs:dc1:rack1 adds child 127.0.0.1:34534 I0804 10:28:16.210330 volume_layout.go:229 volume 1111 does not have enough copies I0804 10:28:16.210332 volume_layout.go:237 volume 1111 remove from writable I0804 10:28:16.210336 volume_layout.go:229 volume 2222 does not have enough copies I0804 10:28:16.210338 volume_layout.go:237 volume 2222 remove from writable I0804 10:28:16.210341 volume_layout.go:229 volume 3333 does not have enough copies I0804 10:28:16.210343 volume_layout.go:237 volume 3333 remove from writable === RUN TestListCollections/no_volume_types_selected === RUN TestListCollections/normal_volumes === RUN TestListCollections/EC_volumes === RUN TestListCollections/normal_+_EC_volumes --- PASS: TestListCollections (0.00s) --- PASS: TestListCollections/no_volume_types_selected (0.00s) --- PASS: TestListCollections/normal_volumes (0.00s) --- PASS: TestListCollections/EC_volumes (0.00s) --- PASS: TestListCollections/normal_+_EC_volumes (0.00s) === RUN TestFindEmptySlotsForOneVolume data: map[dc1:map[rack1:map[server111:map[limit:3 volumes:[map[id:1 size:12312] map[id:2 size:12312] map[id:3 size:12312]]] server112:map[limit:10 volumes:[map[id:4 size:12312] map[id:5 size:12312] map[id:6 size:12312]]]] rack2:map[server121:map[limit:4 volumes:[map[id:4 size:12312] map[id:5 size:12312] map[id:6 size:12312]]] server122:map[limit:4 volumes:[]] server123:map[limit:5 volumes:[map[id:2 size:12312] map[id:3 size:12312] map[id:4 size:12312]]]]] dc2:map[] dc3:map[rack2:map[server321:map[limit:4 volumes:[map[id:1 size:12312] map[id:3 size:12312] map[id:5 size:12312]]]]]] I0804 10:28:16.210532 node.go:250 weedfs adds child dc2 I0804 10:28:16.210538 node.go:250 weedfs adds child dc3 I0804 10:28:16.210540 node.go:250 weedfs:dc3 adds child rack2 I0804 10:28:16.210545 node.go:250 weedfs:dc3:rack2 adds child server321 I0804 10:28:16.210548 node.go:250 weedfs:dc3:rack2:server321 adds child I0804 10:28:16.210556 node.go:250 weedfs adds child dc1 I0804 10:28:16.210558 node.go:250 weedfs:dc1 adds child rack1 I0804 10:28:16.210559 node.go:250 weedfs:dc1:rack1 adds child server111 I0804 10:28:16.210561 node.go:250 weedfs:dc1:rack1:server111 adds child I0804 10:28:16.210565 node.go:250 weedfs:dc1:rack1 adds child server112 I0804 10:28:16.210567 node.go:250 weedfs:dc1:rack1:server112 adds child I0804 10:28:16.210570 node.go:250 weedfs:dc1 adds child rack2 I0804 10:28:16.210572 node.go:250 weedfs:dc1:rack2 adds child server121 I0804 10:28:16.210574 node.go:250 weedfs:dc1:rack2:server121 adds child I0804 10:28:16.210577 node.go:250 weedfs:dc1:rack2 adds child server122 I0804 10:28:16.210578 node.go:250 weedfs:dc1:rack2:server122 adds child I0804 10:28:16.210580 node.go:250 weedfs:dc1:rack2 adds child server123 I0804 10:28:16.210582 node.go:250 weedfs:dc1:rack2:server123 adds child assigned node : server122 assigned node : server123 assigned node : server121 --- PASS: TestFindEmptySlotsForOneVolume (0.00s) === RUN TestReplication011 data: map[dc1:map[rack1:map[server111:map[limit:300 volumes:[map[id:1 size:12312] map[id:2 size:12312] map[id:3 size:12312]]] server112:map[limit:300 volumes:[map[id:4 size:12312] map[id:5 size:12312] map[id:6 size:12312]]] server113:map[limit:300 volumes:[]] server114:map[limit:300 volumes:[]] server115:map[limit:300 volumes:[]] server116:map[limit:300 volumes:[]]] rack2:map[server121:map[limit:300 volumes:[map[id:4 size:12312] map[id:5 size:12312] map[id:6 size:12312]]] server122:map[limit:300 volumes:[]] server123:map[limit:300 volumes:[map[id:2 size:12312] map[id:3 size:12312] map[id:4 size:12312]]] server124:map[limit:300 volumes:[]] server125:map[limit:300 volumes:[]] server126:map[limit:300 volumes:[]]] rack3:map[server131:map[limit:300 volumes:[]] server132:map[limit:300 volumes:[]] server133:map[limit:300 volumes:[]] server134:map[limit:300 volumes:[]] server135:map[limit:300 volumes:[]] server136:map[limit:300 volumes:[]]]]] I0804 10:28:16.210691 node.go:250 weedfs adds child dc1 I0804 10:28:16.210693 node.go:250 weedfs:dc1 adds child rack3 I0804 10:28:16.210695 node.go:250 weedfs:dc1:rack3 adds child server131 I0804 10:28:16.210697 node.go:250 weedfs:dc1:rack3:server131 adds child I0804 10:28:16.210699 node.go:250 weedfs:dc1:rack3 adds child server132 I0804 10:28:16.210700 node.go:250 weedfs:dc1:rack3:server132 adds child I0804 10:28:16.210702 node.go:250 weedfs:dc1:rack3 adds child server133 I0804 10:28:16.210704 node.go:250 weedfs:dc1:rack3:server133 adds child I0804 10:28:16.210706 node.go:250 weedfs:dc1:rack3 adds child server134 I0804 10:28:16.210708 node.go:250 weedfs:dc1:rack3:server134 adds child I0804 10:28:16.210710 node.go:250 weedfs:dc1:rack3 adds child server135 I0804 10:28:16.210711 node.go:250 weedfs:dc1:rack3:server135 adds child I0804 10:28:16.210714 node.go:250 weedfs:dc1:rack3 adds child server136 I0804 10:28:16.210715 node.go:250 weedfs:dc1:rack3:server136 adds child I0804 10:28:16.210717 node.go:250 weedfs:dc1 adds child rack1 I0804 10:28:16.210719 node.go:250 weedfs:dc1:rack1 adds child server111 I0804 10:28:16.210721 node.go:250 weedfs:dc1:rack1:server111 adds child I0804 10:28:16.210732 node.go:250 weedfs:dc1:rack1 adds child server112 I0804 10:28:16.210733 node.go:250 weedfs:dc1:rack1:server112 adds child I0804 10:28:16.210737 node.go:250 weedfs:dc1:rack1 adds child server113 I0804 10:28:16.210740 node.go:250 weedfs:dc1:rack1:server113 adds child I0804 10:28:16.210743 node.go:250 weedfs:dc1:rack1 adds child server114 I0804 10:28:16.210752 node.go:250 weedfs:dc1:rack1:server114 adds child I0804 10:28:16.210757 node.go:250 weedfs:dc1:rack1 adds child server115 I0804 10:28:16.210759 node.go:250 weedfs:dc1:rack1:server115 adds child I0804 10:28:16.210761 node.go:250 weedfs:dc1:rack1 adds child server116 I0804 10:28:16.210763 node.go:250 weedfs:dc1:rack1:server116 adds child I0804 10:28:16.210765 node.go:250 weedfs:dc1 adds child rack2 I0804 10:28:16.210766 node.go:250 weedfs:dc1:rack2 adds child server121 I0804 10:28:16.210768 node.go:250 weedfs:dc1:rack2:server121 adds child I0804 10:28:16.210771 node.go:250 weedfs:dc1:rack2 adds child server122 I0804 10:28:16.210773 node.go:250 weedfs:dc1:rack2:server122 adds child I0804 10:28:16.210775 node.go:250 weedfs:dc1:rack2 adds child server123 I0804 10:28:16.210776 node.go:250 weedfs:dc1:rack2:server123 adds child I0804 10:28:16.210779 node.go:250 weedfs:dc1:rack2 adds child server124 I0804 10:28:16.210780 node.go:250 weedfs:dc1:rack2:server124 adds child I0804 10:28:16.210782 node.go:250 weedfs:dc1:rack2 adds child server125 I0804 10:28:16.210784 node.go:250 weedfs:dc1:rack2:server125 adds child I0804 10:28:16.210785 node.go:250 weedfs:dc1:rack2 adds child server126 I0804 10:28:16.210787 node.go:250 weedfs:dc1:rack2:server126 adds child assigned node : server126 assigned node : server122 assigned node : server133 --- PASS: TestReplication011 (0.00s) === RUN TestFindEmptySlotsForOneVolumeScheduleByWeight data: map[dc1:map[rack1:map[server111:map[limit:2000 volumes:[]]]] dc2:map[rack2:map[server222:map[limit:2000 volumes:[]]]] dc3:map[rack3:map[server333:map[limit:1000 volumes:[]]]] dc4:map[rack4:map[server444:map[limit:1000 volumes:[]]]] dc5:map[rack5:map[server555:map[limit:500 volumes:[]]]] dc6:map[rack6:map[server666:map[limit:500 volumes:[]]]]] I0804 10:28:16.210826 node.go:250 weedfs adds child dc1 I0804 10:28:16.210832 node.go:250 weedfs:dc1 adds child rack1 I0804 10:28:16.210834 node.go:250 weedfs:dc1:rack1 adds child server111 I0804 10:28:16.210835 node.go:250 weedfs:dc1:rack1:server111 adds child I0804 10:28:16.210838 node.go:250 weedfs adds child dc2 I0804 10:28:16.210839 node.go:250 weedfs:dc2 adds child rack2 I0804 10:28:16.210841 node.go:250 weedfs:dc2:rack2 adds child server222 I0804 10:28:16.210842 node.go:250 weedfs:dc2:rack2:server222 adds child I0804 10:28:16.210845 node.go:250 weedfs adds child dc3 I0804 10:28:16.210846 node.go:250 weedfs:dc3 adds child rack3 I0804 10:28:16.210848 node.go:250 weedfs:dc3:rack3 adds child server333 I0804 10:28:16.210850 node.go:250 weedfs:dc3:rack3:server333 adds child I0804 10:28:16.210852 node.go:250 weedfs adds child dc4 I0804 10:28:16.210854 node.go:250 weedfs:dc4 adds child rack4 I0804 10:28:16.210856 node.go:250 weedfs:dc4:rack4 adds child server444 I0804 10:28:16.210858 node.go:250 weedfs:dc4:rack4:server444 adds child I0804 10:28:16.210860 node.go:250 weedfs adds child dc5 I0804 10:28:16.210862 node.go:250 weedfs:dc5 adds child rack5 I0804 10:28:16.210864 node.go:250 weedfs:dc5:rack5 adds child server555 I0804 10:28:16.210865 node.go:250 weedfs:dc5:rack5:server555 adds child I0804 10:28:16.210871 node.go:250 weedfs adds child dc6 I0804 10:28:16.210873 node.go:250 weedfs:dc6 adds child rack6 I0804 10:28:16.210875 node.go:250 weedfs:dc6:rack6 adds child server666 I0804 10:28:16.210876 node.go:250 weedfs:dc6:rack6:server666 adds child server333 : 315 server444 : 280 server666 : 155 server222 : 551 server111 : 547 server555 : 152 --- PASS: TestFindEmptySlotsForOneVolumeScheduleByWeight (0.00s) === RUN TestPickForWrite data: map[dc1:map[rack1:map[serverdc111:map[ip:127.0.0.1 limit:100 volumes:[map[collection:test id:1 replication:001 size:12312] map[collection:test id:2 replication:100 size:12312] map[collection:test id:4 replication:100 size:12312] map[collection:test id:6 replication:010 size:12312]]]]] dc2:map[rack1:map[serverdc211:map[ip:127.0.0.2 limit:100 volumes:[map[collection:test id:2 replication:100 size:12312] map[collection:test id:3 replication:010 size:12312] map[collection:test id:5 replication:001 size:12312] map[collection:test id:6 replication:010 size:12312]]]]] dc3:map[rack1:map[serverdc311:map[ip:127.0.0.3 limit:100 volumes:[map[collection:test id:1 replication:001 size:12312] map[collection:test id:3 replication:010 size:12312] map[collection:test id:4 replication:100 size:12312] map[collection:test id:5 replication:001 size:12312]]]]]] I0804 10:28:16.212359 node.go:250 weedfs adds child dc1 I0804 10:28:16.212367 node.go:250 weedfs:dc1 adds child rack1 I0804 10:28:16.212372 node.go:250 weedfs:dc1:rack1 adds child serverdc111 I0804 10:28:16.212378 volume_layout.go:417 Volume 1 becomes writable I0804 10:28:16.212382 node.go:250 weedfs:dc1:rack1:serverdc111 adds child I0804 10:28:16.212388 volume_layout.go:417 Volume 2 becomes writable I0804 10:28:16.212391 volume_layout.go:417 Volume 4 becomes writable I0804 10:28:16.212395 volume_layout.go:417 Volume 6 becomes writable I0804 10:28:16.212397 node.go:250 weedfs adds child dc2 I0804 10:28:16.212404 node.go:250 weedfs:dc2 adds child rack1 I0804 10:28:16.212408 node.go:250 weedfs:dc2:rack1 adds child serverdc211 I0804 10:28:16.212411 volume_layout.go:405 Volume 2 becomes unwritable I0804 10:28:16.212413 volume_layout.go:417 Volume 2 becomes writable I0804 10:28:16.212419 node.go:250 weedfs:dc2:rack1:serverdc211 adds child I0804 10:28:16.212423 volume_layout.go:417 Volume 3 becomes writable I0804 10:28:16.212425 volume_layout.go:417 Volume 5 becomes writable I0804 10:28:16.212428 volume_layout.go:405 Volume 6 becomes unwritable I0804 10:28:16.212430 volume_layout.go:417 Volume 6 becomes writable I0804 10:28:16.212434 node.go:250 weedfs adds child dc3 I0804 10:28:16.212437 node.go:250 weedfs:dc3 adds child rack1 I0804 10:28:16.212438 node.go:250 weedfs:dc3:rack1 adds child serverdc311 I0804 10:28:16.212441 volume_layout.go:405 Volume 1 becomes unwritable I0804 10:28:16.212442 volume_layout.go:417 Volume 1 becomes writable I0804 10:28:16.212444 node.go:250 weedfs:dc3:rack1:serverdc311 adds child I0804 10:28:16.212448 volume_layout.go:405 Volume 3 becomes unwritable I0804 10:28:16.212450 volume_layout.go:417 Volume 3 becomes writable I0804 10:28:16.212452 volume_layout.go:405 Volume 4 becomes unwritable I0804 10:28:16.212454 volume_layout.go:417 Volume 4 becomes writable I0804 10:28:16.212457 volume_layout.go:405 Volume 5 becomes unwritable I0804 10:28:16.212458 volume_layout.go:417 Volume 5 becomes writable --- PASS: TestPickForWrite (0.00s) === RUN TestVolumesBinaryState === RUN TestVolumesBinaryState/mark_true_when_copies_exist === RUN TestVolumesBinaryState/mark_true_when_no_copies_exist --- PASS: TestVolumesBinaryState (0.00s) --- PASS: TestVolumesBinaryState/mark_true_when_copies_exist (0.00s) --- PASS: TestVolumesBinaryState/mark_true_when_no_copies_exist (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/topology 0.013s === RUN TestByteParsing --- PASS: TestByteParsing (0.00s) === RUN TestSameAsJavaImplementation Now we need to generate a 256-bit key for AES 256 GCM --- PASS: TestSameAsJavaImplementation (0.00s) === RUN TestToShortFileName --- PASS: TestToShortFileName (0.00s) === RUN TestHumanReadableIntsMax --- PASS: TestHumanReadableIntsMax (0.00s) === RUN TestHumanReadableInts --- PASS: TestHumanReadableInts (0.00s) === RUN TestAsyncPool -- Executing third function -- -- Executing first function -- -- Executing second function -- -- Third Function finished -- -- Executing fourth function -- -- Second Function finished -- -- Executing fifth function -- -- First Function finished -- 1 2 3 -- Fourth fifth finished -- -- Fourth Function finished -- 4 5 --- PASS: TestAsyncPool (0.12s) === RUN TestOrderedLock ActiveLock 1 acquired lock 1 ActiveLock 2 acquired lock 0 ActiveLock 2 released lock 0 ActiveLock 3 acquired lock 0 ActiveLock 4 acquired lock 0 ActiveLock 5 acquired lock 0 ActiveLock 1 released lock 1 ActiveLock 3 released lock 0 ActiveLock 4 released lock 0 ActiveLock 5 released lock 0 ActiveLock 6 acquired lock 1 ActiveLock 6 released lock 1 ActiveLock 7 acquired lock 0 ActiveLock 8 acquired lock 0 ActiveLock 9 acquired lock 0 ActiveLock 9 released lock 0 ActiveLock 10 acquired lock 0 ActiveLock 7 released lock 0 ActiveLock 8 released lock 0 ActiveLock 10 released lock 0 ActiveLock 11 acquired lock 1 ActiveLock 11 released lock 1 ActiveLock 12 acquired lock 0 ActiveLock 12 released lock 0 ActiveLock 13 acquired lock 1 ActiveLock 13 released lock 1 ActiveLock 14 acquired lock 1 ActiveLock 14 released lock 1 ActiveLock 16 acquired lock 0 ActiveLock 17 acquired lock 0 ActiveLock 18 acquired lock 0 ActiveLock 19 acquired lock 0 ActiveLock 16 released lock 0 ActiveLock 18 released lock 0 ActiveLock 19 released lock 0 ActiveLock 17 released lock 0 ActiveLock 20 acquired lock 1 ActiveLock 20 released lock 1 ActiveLock 21 acquired lock 0 ActiveLock 22 acquired lock 0 ActiveLock 23 acquired lock 0 ActiveLock 24 acquired lock 0 ActiveLock 24 released lock 0 ActiveLock 22 released lock 0 ActiveLock 21 released lock 0 ActiveLock 23 released lock 0 ActiveLock 25 acquired lock 1 ActiveLock 25 released lock 1 ActiveLock 27 acquired lock 0 ActiveLock 26 acquired lock 0 ActiveLock 26 released lock 0 ActiveLock 28 acquired lock 0 ActiveLock 29 acquired lock 0 ActiveLock 30 acquired lock 0 ActiveLock 32 acquired lock 0 ActiveLock 31 acquired lock 0 ActiveLock 31 released lock 0 ActiveLock 32 released lock 0 ActiveLock 29 released lock 0 ActiveLock 28 released lock 0 ActiveLock 27 released lock 0 ActiveLock 30 released lock 0 ActiveLock 33 acquired lock 1 ActiveLock 33 released lock 1 ActiveLock 34 acquired lock 0 ActiveLock 35 acquired lock 0 ActiveLock 37 acquired lock 0 ActiveLock 37 released lock 0 ActiveLock 38 acquired lock 0 ActiveLock 38 released lock 0 ActiveLock 39 acquired lock 0 ActiveLock 40 acquired lock 0 ActiveLock 40 released lock 0 ActiveLock 41 acquired lock 0 ActiveLock 41 released lock 0 ActiveLock 42 acquired lock 0 ActiveLock 36 acquired lock 0 ActiveLock 43 acquired lock 0 ActiveLock 44 acquired lock 0 ActiveLock 45 acquired lock 0 ActiveLock 45 released lock 0 ActiveLock 46 acquired lock 0 ActiveLock 47 acquired lock 0 ActiveLock 48 acquired lock 0 ActiveLock 49 acquired lock 0 ActiveLock 46 released lock 0 ActiveLock 36 released lock 0 ActiveLock 44 released lock 0 ActiveLock 39 released lock 0 ActiveLock 43 released lock 0 ActiveLock 42 released lock 0 ActiveLock 34 released lock 0 ActiveLock 35 released lock 0 ActiveLock 48 released lock 0 ActiveLock 49 released lock 0 ActiveLock 47 released lock 0 ActiveLock 15 acquired lock 1 ActiveLock 15 released lock 1 ActiveLock 50 acquired lock 1 ActiveLock 50 released lock 1 --- PASS: TestOrderedLock (1.06s) === RUN TestParseMinFreeSpace --- PASS: TestParseMinFreeSpace (0.00s) === RUN TestNewQueue --- PASS: TestNewQueue (0.00s) === RUN TestEnqueueAndConsume 1 2 3 ----------------------- 4 5 6 7 ----------------------- --- PASS: TestEnqueueAndConsume (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/util 1.198s ? github.com/seaweedfs/seaweedfs/weed/util/buffer_pool [no test files] === RUN TestJobQueue enqueued 5 items dequeue 1 dequeue 2 enqueue 6 enqueue 7 dequeue ... dequeued 3 dequeue ... dequeued 4 dequeue ... dequeued 5 dequeue ... dequeued 6 dequeue ... dequeued 7 enqueue 8 enqueue 9 enqueue 10 enqueue 11 enqueue 12 dequeued 8 dequeued 9 dequeued 10 dequeued 11 dequeued 12 --- PASS: TestJobQueue (0.00s) === RUN TestJobQueueClose dequeued 1 dequeued 2 dequeued 3 dequeued 4 dequeued 5 dequeued 6 dequeued 7 --- PASS: TestJobQueueClose (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/util/buffered_queue 0.002s ? github.com/seaweedfs/seaweedfs/weed/util/buffered_writer [no test files] === RUN TestOnDisk I0804 10:28:16.210610 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c0_2_0.ldb, watermark 0, num of entries:0 I0804 10:28:16.211124 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c0_2_0.ldb... , watermark: 0 I0804 10:28:16.211505 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c0_2_1.ldb, watermark 0, num of entries:0 I0804 10:28:16.213190 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c0_2_1.ldb... , watermark: 0 I0804 10:28:16.213800 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c1_3_0.ldb, watermark 0, num of entries:0 I0804 10:28:16.214470 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c1_3_0.ldb... , watermark: 0 I0804 10:28:16.214945 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c1_3_1.ldb, watermark 0, num of entries:0 I0804 10:28:16.215226 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c1_3_1.ldb... , watermark: 0 I0804 10:28:16.216379 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c1_3_2.ldb, watermark 0, num of entries:0 I0804 10:28:16.216890 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c1_3_2.ldb... , watermark: 0 I0804 10:28:16.217173 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c2_2_0.ldb, watermark 0, num of entries:0 I0804 10:28:16.217671 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c2_2_0.ldb... , watermark: 0 I0804 10:28:16.218449 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c2_2_1.ldb, watermark 0, num of entries:0 I0804 10:28:16.219056 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c2_2_1.ldb... , watermark: 0 I0804 10:28:16.219802 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c0_2_0.ldb, watermark 0, num of entries:0 I0804 10:28:16.220215 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c0_2_0.ldb... , watermark: 0 I0804 10:28:16.220614 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c0_2_1.ldb, watermark 0, num of entries:0 I0804 10:28:16.221972 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c0_2_1.ldb... , watermark: 0 I0804 10:28:16.223017 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c0_2_0.ldb, watermark 0, num of entries:2 I0804 10:28:16.223970 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c0_2_0.ldb... , watermark: 0 I0804 10:28:16.226032 needle_map_leveldb.go:122 generateLevelDbFile /tmp/TestOnDisk68218803/001/c0_2_1.ldb, watermark 0, num of entries:1 I0804 10:28:16.226562 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c0_2_1.ldb... , watermark: 0 I0804 10:28:16.227475 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c1_3_0.ldb... , watermark: 0 I0804 10:28:16.228013 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c1_3_1.ldb... , watermark: 0 I0804 10:28:16.228435 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c1_3_2.ldb... , watermark: 0 I0804 10:28:16.229495 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c2_2_0.ldb... , watermark: 0 I0804 10:28:16.229938 needle_map_leveldb.go:66 Loading /tmp/TestOnDisk68218803/001/c2_2_1.ldb... , watermark: 0 chunk_cache_on_disk_test.go:98: failed to write to and read from cache: 2 --- FAIL: TestOnDisk (0.02s) FAIL FAIL github.com/seaweedfs/seaweedfs/weed/util/chunk_cache 0.031s ? github.com/seaweedfs/seaweedfs/weed/util/fla9 [no test files] ? github.com/seaweedfs/seaweedfs/weed/util/grace [no test files] ? github.com/seaweedfs/seaweedfs/weed/util/http [no test files] ? github.com/seaweedfs/seaweedfs/weed/util/http/client [no test files] ? github.com/seaweedfs/seaweedfs/weed/util/httpdown [no test files] === RUN TestNewLogBufferFirstBuffer processed all messages E0804 10:28:16.275998 log_read.go:115 LoopProcessLogData: test process log entry 1 ts_ns:1754303296275978619 partition_key_hash:-736260903 data:"\xe2_\x8c<\x06\x0c\x19\x11\xf9\xf7\xc0\x91\xc0a\xbe\r8\x89L\x03$v\xa2|Ű\xa9%\x11\x0cĢ\xc2X\xf2\xbb\x16y'\x1c\x08\xfd\x152\xfb\xed\xfbw\xee\xf1\x1fmR\xd1ϩUط\xc1\xac\x1e\xb5\x8f\xf2\x83\x03\x16\x89`\xea|\xdc\xd3rI\x94k\xbbP\xe4q\x89\x91\x9dt\xadn\xef\x0e\x8b\xeb\xf2\x94\xc1\xc9p&\xcc\x13ǰK\\\x99GeםE\xec\xfe\xaf\x9f\x15\xa7\x82\x8c\x05\x94+\xdbbH\xe6\xa4u4:i\x97\x1bq\x96\xcd\xd8d\x93f\x03:Q\xf7\x01]\xf4\xf2Z\xd9\xdf|\xd7\t\xfb\x99\x89\x18\xac[\x90\xde\xeb \xaf\x13\x9eQ\x07\xd6\xe4f\xa5yPc'1\xf4R)p|\xd8\xed\xac\xef3\xf38\xc0\xfc\x8c0\x9b\t\x98뫖\x81\t\xa3!\xa7\xab\x1b@C>(\xf2\xa9\xce\x1dR\x17m)ۦ\x15)\xe6\x19\xf1quϧeJ\x93\x8ft\x84\xc5Q[\x9f\x9ei\xceL\x049\x8c\x85\x95*\xce\x19\x80\x8a\x8cŐ\xeb\x195TA\xf0zif[\xbe\xcb\xfd\xc6q\xd4g\xcf=\xefl\xa8Kc\xe6\xf6̿5D\xa2grN\xee\xcfWy\x88AX\xaa\xbd_\xd4pͽ\x0e[\xb9\xdbPL3\x84\x1a\x9a\xab\xf7\xc4(\xa7\x95\x851\x17\"\x04\xa2\x86ʛ\xe2\x17\xb7ͪ\x07$\xf7\xa8\xb0\x97\x97 \xf9\xb5\x1f\x0chb\x0f3\x9a\xc5EXv\x93\xa8\x18=\xfa\xc7K\xa8\xfb\xf75+{y\xb1*!\x91T\x13\x04*\xb1pc\xccB2\xf0U\x9c\xe7\x0cF]/\xaf]\xa9\xe0\x06\xa4\xd6Ҩ\xc9aeU*h\x0e֠\x07nT\x80\xa9ϛ\x89/s \xe4\xff\x7f\x17\xff~\x92gE\xf3\xed\x1a\xad*\x03\x12\xbd;\xafҔ\x91\x99)\xc72\x84\xf5\xe3a\x86\x90ޭ\x96\x9avKz\xd0!Hc\xca aʉ\x80\xddT\x9e\xe3z;\xe6h\xd9u\r\xba\x9f\xaf\x99z\xb1}}\x04\xdc~\xa0\x03%\x94\xcf*>Y(\xa3\xddW\x95O\x10\xb0v8\xa4\xbc\xbd\x8bW\tu\xc2H\xdcpG^\x99\xd5Gm\x97\xfe\xa4\x8f=\x08^һ\xb2n1b\x1aR-\x88\x81}4$\xeeR\x86Ld\x16\x86\x90\xd7p\x98\x16\xd6>\x0c\xcc\x19\x02\x064\xfc\t\xe4B\x9c\r\xd9\x03\x96 μC\x83\xa0q\xd6\xe61P \xb57t\xfa*|?\xee\xb7f\xdb\xfc\x07\xd3U\xf1\xba\x94K\xddɌ\x93\xf8\xd5\xe6=\xb8\xf6:\x8b\xeb\xafb\xa41\x1f6\xb1j&\x17\xfa\x88\x92\xb4̪]\xc8\x7f\x9dwZ\xe5\xe9Sf\x0f3B\x8c\xb5\x8b^5h\xc5\xf9\x1aR!O\x07*i?0\xe0\xf2Y\x063\x93\xeb޻\x94C\xd8\xd2w\xe9\"S\"\x9a\"=\x19)\x04yw\x9c\xab\xb5\x0e+\xb9\xfb\x13\xce*\xf6\x99\xbe\xc2o\x1fߣ\xe5H\x9bq\xf9\xbd\x15\x00{\xfd\xa1\x17شA)\x99\x0f\xcf\xdd\xd0;\x8dB\xfc\xd7k\xad%ǔ:\x1e\xfc\x18`\x8e\xbdF\x98\x8e\x8b\xc4\\\x1a\x99\x13\x11\xecӂ\xfe\xa6\x8bFA\xf77\xe1\xe4\x17\xae\xbc\rG\xe0\xf2\x14\xd7\xf2\xf7\x0cHb\xf3\x9b\xc5q,\x1cTi\x11\x8a\xa3k\xe1\x10mߓ\xa4[g\x96gn\xfc\xadoco\xef\xffι\x19\x90\xfd*:\r9\x8fCs^\xcf\xde\x04?c\x80U\xb2~i\xf6z\x94\xda\xeb\xe9\xfb\xe2\xa8\xe4x\x1bW9#\xe6\x0f\x93<7\x9a \x10\xb5n\xa7\x98c\x07\xe9B\x1aly\xf0\xc4&\xd4)\xbfG\xb1\xaf\xef\xabͤ\xa7\xfc\x17\r\xeb\xdbʼn\xa4E\x15c\x13\x0e\r@\x14\x12\x8a\xfe\xd52w\x17\x1crO\xbbɩ\xa0\xf5\xf8\xcb)\x8bX\x18\x1a\x83+\xcb3Dȳ\x90\x1b{\xc7\xf0NY\x04n\xe9\xf6^1\x14\x84\x16(A\xf43\xadn\x1cԠ\x99­\xe2v-\xd9\xef\xcaͤ\xad\xb2[\xe9\xd6\xfb\xfa/\x99Ű\xe5\x9c\x7fь\r\r\x8b\xd9VY\x92/<#V\x9a\x81kP\xf4\x04\xb4\xb9f\xf2\xc3դ \xcd\xdb9\x9e\xf2\xa6\xf4\xb4}<.\xb3?\xb4\x0f\x03\x93": EOF before flush: sent 5000 received 5000 lastProcessedTime 2025-08-04 10:28:16.275978619 +0000 UTC isDone true err: EOF --- PASS: TestNewLogBufferFirstBuffer (0.04s) PASS ok github.com/seaweedfs/seaweedfs/weed/util/log_buffer 0.043s === RUN TestAllocateFree --- PASS: TestAllocateFree (0.00s) === RUN TestAllocateFreeEdgeCases --- PASS: TestAllocateFreeEdgeCases (0.00s) === RUN TestBitCount --- PASS: TestBitCount (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/util/mem 0.005s ? github.com/seaweedfs/seaweedfs/weed/util/request_id [no test files] === RUN TestNameList 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 29 3 30 31 32 33 34 35 36 37 38 39 4 40 41 42 43 44 45 46 47 48 49 5 50 51 52 53 54 55 56 57 58 59 6 60 61 62 63 64 65 66 67 68 69 7 70 71 72 73 74 75 76 77 78 79 8 80 81 82 83 84 85 86 87 88 89 9 90 91 92 93 94 95 96 97 98 99 --- PASS: TestNameList (0.06s) === RUN TestReverseInsert --- PASS: TestReverseInsert (0.00s) === RUN TestInsertAndFind --- PASS: TestInsertAndFind (0.04s) === RUN TestDelete --- PASS: TestDelete (0.05s) === RUN TestNext --- PASS: TestNext (0.01s) === RUN TestPrev --- PASS: TestPrev (0.01s) === RUN TestFindGreaterOrEqual --- PASS: TestFindGreaterOrEqual (0.02s) === RUN TestChangeValue --- PASS: TestChangeValue (0.03s) PASS ok github.com/seaweedfs/seaweedfs/weed/util/skiplist 0.232s ? github.com/seaweedfs/seaweedfs/weed/util/version [no test files] === RUN TestLocationIndex --- PASS: TestLocationIndex (0.00s) === RUN TestLookupFileId --- PASS: TestLookupFileId (0.00s) === RUN TestConcurrentGetLocations --- PASS: TestConcurrentGetLocations (0.93s) PASS ok github.com/seaweedfs/seaweedfs/weed/wdclient 0.946s ? github.com/seaweedfs/seaweedfs/weed/wdclient/exclusive_locks [no test files] ? github.com/seaweedfs/seaweedfs/weed/wdclient/net2 [no test files] ? github.com/seaweedfs/seaweedfs/weed/wdclient/resource_pool [no test files] ? github.com/seaweedfs/seaweedfs/weed/worker [no test files] ? github.com/seaweedfs/seaweedfs/weed/worker/tasks [no test files] ? github.com/seaweedfs/seaweedfs/weed/worker/tasks/balance [no test files] === RUN TestStructToMap_WithEmbeddedStruct --- PASS: TestStructToMap_WithEmbeddedStruct (0.00s) === RUN TestStructToMap_WithNestedStruct --- PASS: TestStructToMap_WithNestedStruct (0.00s) === RUN TestMapToStruct_WithEmbeddedStruct --- PASS: TestMapToStruct_WithEmbeddedStruct (0.00s) === RUN TestMapToStruct_PartialData --- PASS: TestMapToStruct_PartialData (0.00s) === RUN TestRoundTripSerialization --- PASS: TestRoundTripSerialization (0.00s) === RUN TestStructToMap_EmptyStruct --- PASS: TestStructToMap_EmptyStruct (0.00s) === RUN TestStructToMap_NilPointer --- PASS: TestStructToMap_NilPointer (0.00s) === RUN TestMapToStruct_InvalidInput --- PASS: TestMapToStruct_InvalidInput (0.00s) === RUN TestMapToStruct_NonPointer --- PASS: TestMapToStruct_NonPointer (0.00s) PASS ok github.com/seaweedfs/seaweedfs/weed/worker/tasks/base 0.006s ? github.com/seaweedfs/seaweedfs/weed/worker/tasks/erasure_coding [no test files] ? github.com/seaweedfs/seaweedfs/weed/worker/tasks/vacuum [no test files] ? github.com/seaweedfs/seaweedfs/weed/worker/types [no test files] FAIL ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_27ebec07-c905-46fd-abb1-e7d9680d9325/build