Skip to content

Instantly share code, notes, and snippets.

@harshavardhana
Last active January 27, 2026 07:22
Show Gist options
  • Select an option

  • Save harshavardhana/0f44addfcafd1778bb503078834c74d1 to your computer and use it in GitHub Desktop.

Select an option

Save harshavardhana/0f44addfcafd1778bb503078834c74d1 to your computer and use it in GitHub Desktop.
MinIO AIStor vs MinIO OSS - Complete Technical Comparison (13,061 commits analyzed)

MinIO AIStor vs MinIO OSS - Complete Technical Comparison (13,061 commits analyzed)

MinIO AIStor vs MinIO OSS - Complete Technical Comparison

Analysis based on full commit history review of 13,061 commits


Table of Contents

  1. Executive Summary
  2. Upgrade Priority Summary
  3. Codebase Statistics
  4. Enterprise Features (AIStor Only)
  5. Performance Improvements
  6. Stability & Reliability Improvements
  7. Operational Improvements
  8. Observability & Monitoring
  9. Architecture Differences
  10. Detailed Commit Analysis by Category
  11. Summary Comparison Table

Executive Summary

MinIO AIStor is a comprehensive enterprise evolution of MinIO OSS with 13,061 total commits analyzed. AIStor transforms MinIO from an object storage platform into a production-ready data lakehouse solution with:

  • 245 unique source files in cmd/ not present in OSS
  • 24 new internal packages for enterprise functionality
  • 19 additional metrics files for comprehensive observability
  • 178 commits for Tables API (Iceberg Catalog)
  • 140 commits for Site Replication enhancements
  • 547 commits for Healing improvements
  • 470 commits for Replication enhancements
  • 457 commits for Locking improvements
  • 396 commits for Encryption/KMS
  • 307 commits for Metrics/Prometheus
  • 265 commits for ILM/Lifecycle
  • 690 commits for IAM/Auth improvements

Upgrade Priority Summary

Why Upgrade Now? This release includes 47+ critical and 85+ high priority stability fixes across core subsystems.

Stability Fixes by Severity

Severity Count Areas Impacted
Critical 47+ Data integrity, split-brain prevention, availability
High 85+ Race conditions, resource leaks, locking
Medium 120+ Performance bottlenecks, operational improvements

Critical Stability Fixes (47+)

These fixes address issues that could impact data integrity or cluster availability:

Area Fixes Key PRs
Healing & Recovery 18 #2558 (abandoned object recovery), #879 (write lock timing), #1147 (offline drive healing)
Distributed Locking 12 #2073 (lease-based locking), #2802 (write lock contention), #2768 (coalesced locks)
Replication Consistency 10 #2608 (site-replication races), #2457 (retention preservation), #1447 (init/heal improvements)
Startup & Availability 7 #2691 (non-blocking license), #2631 (health endpoint protection), #2072 (resource monitoring)

High Priority Stability Fixes (85+)

These fixes address race conditions, resource leaks, and locking issues:

Area Fixes Key PRs
Race Conditions 25+ #1882 (QoS), #2608 (site-replication), #2752 (persistent log), #2789 (Tables locking)
Memory & Resource Leaks 20+ #2596 (heap escapes), #2566 (buffer pooling), #2567 (decompressor pooling), #1041 (MRF locks)
Lock Contention 22+ #2789 (Tables), #2110 (cleanup interval), #1748 (multi-table transactions)
I/O Bottlenecks 18+ #2438 (delete operations), #2070 (DiskInfo calls), #1542 (multipart IOPS)

Upgrade Recommendation

Your Environment Priority Reason
Multi-site replication Immediate 10 critical consistency fixes
High-throughput (100Gbps+) Immediate Lock contention and hot path fixes
Heavy concurrent reads This Week N-fold RPC reduction via coalesced locking
Long-running clusters This Week Memory leak and resource pooling fixes
S3 Tables / Iceberg This Week 12 locking and transaction fixes
Standard deployments Planned Cumulative stability improvements

Codebase Statistics

Commit Distribution by Category

Category Commit Count Description
Tables/Iceberg 178 S3 Tables API, Iceberg catalog
Delta Sharing 15 Delta Sharing protocol
Inventory 49 Bucket inventory management
Batch 140 Batch operations and catalog
QoS 21 Rate limiting and throttling
Rolling Update 126 Zero-downtime updates
License 88 Enterprise licensing
Metrics/Prometheus 307 Observability
Healing 547 Data healing and recovery
Replication 470 Bucket replication
Decommission 88 Pool decommissioning
Erasure 178 Erasure coding
Locking 457 Distributed locking
ILM/Lifecycle 265 Information lifecycle management
FTP/SFTP 27 Protocol support
Lambda 14 Object Lambda
Site Replication 140 Multi-site replication
Grid/RPC 161 Internal RPC framework
Encryption/KMS 396 Key management
IAM/Auth 690 Identity and access management
Tiering 129 Warm/cold tiering
Scanner 90 Background scanning
Console 231 Web console

File Count Differences

Metric AIStor OSS Difference
Unique cmd/*.go files - - +245 files
Internal packages 53 29 +24 packages
Metrics V3 files 45+ 26 +19 files
Total commits 13,061 - -

Enterprise Features (AIStor Only)

1. S3 Tables API (Apache Iceberg Catalog)

Commits: 178 | Files: 42+ | Status: Production-ready

Complete Apache Iceberg REST Catalog implementation for data lakehouse architectures.

Key Commits

PR Description
#2806 Migrate catalog API tests from Python to Go
#2789 Rework locking to reduce contention
#2804 Binary search for pagination token lookup
#2776 Reduce memory allocations in registry
#2774 Eliminate redundant metadata lookups
#2757 Validate bucket configs before warehouse upgrade
#2725 RegisterView (AIStor extension)
#2703 Switch from JSON to msgpack format
#2695 Block bucket ops on table bucket
#2609 Shard namespace.json
#2548 Recoverable transactions
#2491 Multi-level namespaces
#2276 Commit-view implementation
#2249 AuthSys with cache
#2126 Metrics v3 integration
#2060 Views API implementation
#1949 Register-table endpoint
#1911 Return last consistent state on LoadTable
#1806 Transaction hierarchy refactor
#1748 Optimize multi-table transaction locking
#1700 Staged table lifecycle
#1672 SigV4 authentication support
ecd55c948 Initial iceberg catalog API

API Endpoints

Warehouses: Create, List, Get, Delete Namespaces: Create, List, Get, Delete, Update Properties, HEAD Tables: Create, Load, Commit, Delete, Register, Rename, HEAD Views: Create, Load, Replace, Delete, Register (AIStor Extension), HEAD Transactions: CommitMultiTableTransaction


2. Delta Sharing Protocol

Commits: 15+ | Files: 34+ | Status: Production-ready

Complete Delta Sharing Protocol v1.0 implementation.

Key Commits

PR Description
#2450 Initial Delta Sharing implementation
#2541 Unit tests and Prometheus v3 metrics
#2614 TTFB and request count metrics
#2583 Databricks compatibility (endStreamAction)
#2743 JWT token isolation
#2727 Error code fixes
#2711 Token management fixes

Features

  • Bearer token and OAuth 2.0 M2M authentication
  • Delta Universal Format (UniForm) for Iceberg compatibility
  • Change Data Feed (CDF) support
  • Time travel queries
  • Predicate pushdown
  • Snapshot caching (5-minute TTL)

3. Inventory System

Commits: 49 | Status: Production-ready

Comprehensive bucket inventory with job lifecycle management.

Key Commits

PR Description
#1357 Bucket Inventory APIs
#1510 Job control APIs (suspend/resume/cancel)
#1603 Prometheus metrics
#1762 Automatic recovery for corrupt metadata
#1808 Status API records count
#1867 AIStor Tables integration
#2033 Integration tests
#2055 v2 prometheus endpoint
#2095-#2099 Comprehensive integration tests
#2153 Prometheus metric descriptions
#2512 LastUpdate field
#2568 Retry logic and InstanceID

Features

  • Job state machine (PENDING → RUNNING → COMPLETED/SUSPENDED/CANCELED)
  • Parquet, CSV, JSON output formats
  • Integration with AIStor Tables for Iceberg format
  • Automatic recovery from corrupt metadata
  • Prometheus metrics

4. QoS and Rate Limiting

Commits: 21 | Status: Production-ready

Bucket-level Quality of Service enforcement.

Key Commits

PR Description
#1389 Bucket level QoS enforcement
#2008 Integration tests
#1873 xsync.Map for performance
#1882 Data race elimination
#2263 Failure mode tests
#2455 API management and metrics
#2551 Deterministic assertions

Features

  • Concurrency limiting per bucket
  • Bandwidth throttling
  • Connection limits
  • Activity filtering

5. Rolling Update System

Commits: 126 | Status: Production-ready

Zero-downtime rolling updates for cluster upgrades.

Key Commits

PR Description
#1512 Rolling update/restart implementation
#1754 Grid request versioning and compression
#1834 Real-time update events streaming
#2119 Update cancel and downgrade
#1967 Binary distribution tree topology
#1841 Integration tests
#1807 Enhancements and bug fixes
#1796 UX improvements
#1830 0 seconds wait time support
#2639 API version constraint tests

Features

  • Real-time event streaming
  • Tree topology binary distribution
  • Update cancellation and downgrade
  • Version constraint enforcement

6. Batch Catalog (Enhanced Batch Jobs)

Commits: 140 (batch total) | Status: Production-ready

Enhanced batch processing with catalog export capabilities.

Key Commits

PR Description
#493 Initial batch catalog implementation
#946 Resume on restart
#1090 Parquet backend format
#1159 AWS S3 metadata schema
#1333 Refactor to internal inventory package
#1355 Buffered parquet row writing
#1367 Speed optimization
#1525 AccessTime support
#1612 MaxFileSizeHint

Output Formats

  • CSV, Parquet (Snappy), JSON
  • AWS S3-compatible schema

7. Object Lambda / PromptObject

Commits: 14 | Status: Production-ready

Lambda function invocation on S3 operations with AI workload support.

Key Commits

PR Description
#122 PromptObject API
#1065 Forward 2xx responses
#1089 Test cases
#1337 Reconfigurable timeout

8. FTP and SFTP Server Support

Commits: 27 | Status: Production-ready

Built-in FTP/SFTP servers for legacy application compatibility.

Key Commits

PR Description
#2011 FTPS cert reload without restart
#20914 Trailing headers for upload
#21251 Force TLS option

9. S3 Express Zone Support

Commits: 5 | Status: Production-ready

AWS S3 Express One Zone compatibility.

Key Commits

PR Description
#549 S3 Express zone requirements
#572 Append object behavior
#609 Unsorted listing
#814 CreateSession API
#866 mpCache support

10. License Management

Commits: 88 | Status: Production-ready

Non-disruptive enterprise licensing with background renewal.

Key Commits

PR Description
#1817 Store license in config
#2691 Non-blocking startup redesign
#2765 Consolidate licenseManager
#2810 Config license before token lookup
#2504 Feature restriction for free tier
#2523 Block tiering for free tier
#2643 Block free license on distributed

Features

  • Non-blocking startup
  • Background renewal
  • SIGHUP throttling
  • Tier-based feature enforcement

11. Pool Hot-Reload

Commits: 4 | Status: Production-ready

Add storage pools without server restart.

Key Commits

PR Description
#2302 SIGHUP signal and config.yaml support
#2597 Extend config.yaml for CLI flags
#2635 Update S3PeerSys after reload
#2642 Heal buckets to new pool

12. Cordon Functionality

Commits: 4 | Status: Production-ready

Node maintenance mode for troubleshooting.

Key Commits

PR Description
#1433 Cordon functionality
#2077 Write quorum check
#2092 HTTP listener context tests
#2118 Draining nodes handling

13. eBPF Deletion Protection

Commits: 3 | Status: Production-ready

Kernel-level storage protection.

Key Commits

PR Description
#1945 Kernel-level storage protection
#2009 eBPF LSM module
#2534 Go-based eBPF loader (cilium/ebpf)

14. HTTP/3 (QUIC) Support

Commits: 1 | Status: Production-ready

Key Commits

PR Description
#281 HTTP3.0 support for all S3 API calls

15. Persistent Log Recorder

Commits: 10 | Status: Production-ready

Durable logging for API, errors, and audit events.

Key Commits

PR Description
#2173 Persistent log recorder
#2463 External targets (webhook/kafka)
#2751 Lock file during drive rotation
#2752 Race condition fixes
#2411 Disabled by default

16. Object Summary API

Commits: 7 | Status: Production-ready

Admin API for detailed object inspection.

Key Commits

PR Description
#581 ObjectSummary API implementation
#688 Bitrot checking and version listing
#765 API updates
#859 v4/object-summary admin API
#1131 Inline/non-inline data handling

17. Extended Object Naming Mode

Commits: 8 | Status: Production-ready

Support for special characters in object names.

Key Commits

PR Description
#1513 Explicit extended naming mode persistence
#1540 Extended naming tests
#1569 Mint tests for extended mode
#1628 Decommission/rebalance handling
#1632 Reject replication from Extended to Safe mode
#2188 Preserve naming mode on drive format

18. Admin Query APIs (V4)

Commits: 10+ | Status: Production-ready

New admin API version with resource querying.

Key Commits

PR Description
#489 New Admin API v4
#953 Admin Query APIs
#1369 Sorting support
#1618 Drive query metrics
#1898 Drive state tracking
#1924 Healing info in Drive Query
#2019 Set query results info

Endpoints

  • ClusterQueryHandler
  • ServicesQueryHandler
  • PoolsQueryHandler
  • NodesQueryHandler
  • DrivesQueryHandler
  • ErasureSetsQueryHandler
  • ServerAPIStatsHandler
  • ClusterSummaryHandler

19. Thread Pressure Monitoring

Commits: 3 | Status: Production-ready

Goroutine and memory monitoring with health protection.

Key Commits

PR Description
#478 Threshold-based dumps
#2072 Memory/goroutine monitoring
#2631 Thread pressure with health endpoint protection

20. Coalesced Locking

Commits: 2 | Status: Production-ready

N-fold RPC reduction for concurrent readers.

Key Commits

PR Description
#2768 Coalesced read locks for distributed locking
#2802 Write lock contention fix

Performance Improvements

Memory and Allocation Optimizations

PR Description Impact
#2660 Eliminate path.Clean allocations Reduced GC in listings
#2659 Migrate to generic Set[T] Better type safety
#2667 strings.Builder for replication Fewer allocations
#2662 Cache compiled regex Faster filtering
#2654 Optimize MRF reading Faster healing
#2650 Precompile regex in isValidChars Hot path optimization
#2638 Optimize PUT hot path High-speed network
#2596 Reduce heap escapes Reduced GC
#2557 Reduce read allocs Memory optimization
#1506 xsync.Map migration Lock-free maps
#1194 AVX512 crc64-nvme and crc32 Faster checksums

I/O and Network Optimizations

PR Description Impact
#2640 DeleteVersions Grid RPC migration Faster deletes
#2544 Heap-based k-way merge for ListObjects Faster listings
#2438 Reduce delete disk operations Reduced IOPS
#1542 Reduce CompleteMultipart IOPS Faster completion
#2048 ServerInfo caching Better performance
#2070 Eliminate repeated DiskInfo calls Reduced disk calls
#2566 Pooled erasure buffers Memory reuse
#2567 Pool decompressors Resource reuse
#2196 CRC32C bitrot for ARM64/BF3 Faster checksums
#18461 WebSocket grid connectivity Better internode

Locking Optimizations

PR Description Impact
#2768 Coalesced read locks N-fold RPC reduction
#2789 Tables locking rework Better concurrency
#2073 Lease-based locking No stale locks
#2110 Reduce cleanup interval Faster cleanup

Stability & Reliability Improvements

Healing Improvements (547 commits)

PR Description
#1444 Precise MRF heal conditions
#879 Write lock only during commit
#919 Clean abandoned parts
#937 Workers for scanner items
#1041 MRF non-blocking lock
#1147 48-hour offline triggers whole-drive healing
#2558 Move abandoned children to MRF
#251 Streaming RPC for CheckParts

Decommission Improvements (88 commits)

PR Description
#2415 Dynamic ILM policy reload
#2400 NewerNoncurrentVersions support
#622 Avoid objects without quorum
#509 Ignore not found buckets
#871 Skip immediate purge option
#2262 Resume after restart test

Rebalance System (25+ commits)

PR Description
#15483 Pool-level rebalance
#2511 Comprehensive integration tests
#1628 Extended mode handling

Site Replication (140 commits)

PR Description
#1447 Improve init and heal
#1947 IAM parity check
#2013 ILM expiry bug fix
#2457 Preserve retention/versioning
#2608 Race condition fixes
#2475 Console UI integration

MRF Improvements (30 commits)

PR Description
#2654 Optimize MRF reading
#2558 Move abandoned children to MRF
#1444 Precise heal conditions
#1041 Non-blocking lock
#1040 Avoid healing with offline drives
#8470 Initial MRF implementation

Observability & Monitoring

Metrics V3 Expansion (307 commits)

19 unique AIStor metrics files:

  • metrics-v3-batch.go
  • metrics-v3-bucket-batch.go
  • metrics-v3-cluster-site-replication.go
  • metrics-v3-debug-heal.go
  • metrics-v3-delta-sharing.go
  • metrics-v3-docs-gen.go
  • metrics-v3-heal.go
  • metrics-v3-iam.go
  • metrics-v3-kms.go
  • metrics-v3-lambda.go
  • metrics-v3-locks.go
  • metrics-v3-software.go
  • metrics-v3-stdout.go
  • metrics-v3-system-drive-smart.go
  • metrics-v3-system-network-interface.go
  • metrics-v3-tables.go
  • metrics-v3-tier.go

OpenTelemetry/Distributed Tracing (40+ commits)

PR Description
#552 OpenTelemetry distributed tracing
#2165 Admin trace for Tables
#360080385 Delta Sharing tracing
#259 Grid RPC stream traces
#252 KMS tracing
#943 Direct telemetry export

SMART Drive Monitoring

PR Description
#2629 S.M.A.R.T. disk health metrics
#2696 Fix excessive logging

Architecture Differences

Unique Internal Packages (24)

internal/batch          - Batch job processing
internal/bigcache       - High-performance caching
internal/context        - Delayed context cancellation
internal/goroutine      - Goroutine utilities
internal/iam            - IAM policy evaluation
internal/iammap         - IAM mapping utilities
internal/inventory      - Inventory job system
internal/itertools      - Go 1.22+ iterator utilities
internal/ldaputils      - LDAP helpers
internal/metrics        - Metrics generation
internal/mformat        - Metadata formatting
internal/objects        - Object validators
internal/path           - Path utilities
internal/qos            - QoS/rate limiting
internal/race           - Race detection
internal/reqs           - Request utilities
internal/singleflight   - Request deduplication
internal/smart          - SMART drive monitoring
internal/testutils      - Testing utilities
internal/tmpfile        - Temporary file handling
internal/traceevents    - Event tracing
internal/windowed       - Windowed operations
internal/xbufio         - Extended buffered I/O
internal/xstrings       - String utilities

Console Integration

AIStor includes the enterprise console:

  • github.com/miniohq/aistor-console v0.0.37
  • github.com/miniohq/aistor-operator

Key Dependencies

github.com/miniohq/license/go/license
github.com/apache/iceberg-go v0.4.1
github.com/substrait-io/substrait v0.78.1
github.com/parquet-go/parquet-go v0.24.0

Detailed Commit Analysis by Category

Tables API Evolution

ecd55c948 - Initial iceberg catalog API implementation
#1672 - SigV4 authentication
#1700 - Staged table lifecycle
#1748 - Optimize multi-table locking
#1806 - Transaction hierarchy refactor
#1911 - Last consistent state on LoadTable
#1949 - Register-table endpoint
#2060 - Views API
#2126 - Metrics v3 integration
#2249 - AuthSys with cache
#2276 - Commit-view
#2491 - Multi-level namespaces
#2548 - Recoverable transactions
#2609 - Shard namespace.json
#2703 - JSON to msgpack
#2725 - RegisterView extension
#2789 - Locking rework

Checksum Improvements (40+ commits)

PR Description
#247 Full Object Checksums
#401 Optimized crc64nvme
#496 XXH3 bitrot for low-end CPUs
#1163 CRC64-NVME by default
#1194 AVX512 crc64-nvme and crc32
#2196 CRC32C for ARM64/BF3
#2398 Automatic Multipart Checksums

Kafka Improvements

PR Description
#263 Migrate to franz-go from sarama
#1187 Kerberos authentication
#366 Global event queue systems
#2463 External log targets

Summary Comparison Table

Feature AIStor OSS
Total Commits Analyzed 13,061 -
Unique cmd Files +245 -
Internal Packages 53 29
Metrics V3 Files 45+ 26
Data Lakehouse
S3 Tables API (Iceberg) Yes (178 commits) No
Delta Sharing Protocol Yes (15+ commits) No
Protocol Support
FTP/SFTP Servers Yes No
HTTP/3 (QUIC) Yes No
Object Lambda Yes No
S3 Express Zone Yes No
Operations
Inventory System Yes (49 commits) No
Enhanced Batch Catalog Yes (140 commits) Basic
Rolling Updates Yes (126 commits) No
Pool Hot-Reload Yes No
Cordon Functionality Yes No
QoS/Rate Limiting Yes (21 commits) No
Monitoring
SMART Drive Monitoring Yes No
Admin Query APIs Yes (10+ endpoints) No
OpenTelemetry Enhanced (40+ commits) Basic
Thread Pressure Monitoring Yes No
Performance
Coalesced Locks Yes No
BigCache Yes No
xsync Migration Yes No
Security
eBPF Deletion Protection Yes No
Enterprise
License Management Yes (88 commits) No
Enterprise Console Yes No
Extended Naming Mode Yes No
Object Summary API Yes No
Stability
Healing Commits 547 -
Replication Commits 470 -
Site Replication Commits 140 -
Locking Commits 457 -
Decommission Commits 88 -

Conclusion

MinIO AIStor represents the most comprehensive enterprise evolution of MinIO OSS, with 13,061 commits delivering:

  1. Data Lakehouse Leadership: Complete S3 Tables API (178 commits) and Delta Sharing protocol (15+ commits) for modern analytics workloads

  2. Enterprise Protocol Compatibility: FTP/SFTP, HTTP/3, Object Lambda, S3 Express Zone support

  3. Operational Excellence:

    • Inventory system (49 commits)
    • Batch catalog (140 commits)
    • Rolling updates (126 commits)
    • QoS (21 commits)
    • Pool hot-reload
    • Cordon functionality
  4. Comprehensive Observability:

    • 307 metrics commits
    • 19 additional metrics files
    • OpenTelemetry integration (40+ commits)
    • SMART drive monitoring
    • Thread pressure monitoring
  5. Performance Optimizations:

    • Coalesced locking (N-fold RPC reduction)
    • xsync migration for lock-free maps
    • Memory allocation optimizations
    • AVX512 checksum acceleration
  6. Enhanced Stability:

    • 547 healing commits
    • 470 replication commits
    • 457 locking commits
    • 140 site replication commits
    • 88 decommission commits
  7. Enterprise Ready:

    • License management (88 commits)
    • Enterprise console
    • eBPF kernel protection
    • Extended naming mode
    • Object Summary API

The codebase demonstrates a mature, production-ready enterprise storage platform suitable for demanding data lakehouse and analytics workloads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment