AIStore: scalable storage for AI applications
GET
, download, prefetch, and/or copy the latest remote (object) versionGET
primitive) and tools (CLI, aisloader
)See also: aistore features and brief overview.
GET
: add stats !6435dsort
: sort records (minor) !6445list-objects
utilities and helpers; rerun list-objects
code-gen: refactor and optimize; cleanup !6450, !6451PUT
- variations !6473, !6474PUT
and PROMOTE
destination naming !6475APPEND
(verb) to append if exists; amend metadata (major) !6476list-objects
: enforce intra-cluster access, validate !6480get-bmd
; follow-up !6483atime
cache when shutting down !6517atime
, prefetch
, is-dirty
) !6518notification-listener
name !6522not-found
; job status; other cleanup !6529ldp.reader
to honor sync-remote
option !6537log-modules
, log-level
); micro-optimize !6538not-found
vs list iterator; OOS !6539join(error)
and fiends !6540list-objects
to report 'version-changed' (new) !6543, !6545list-objects
to report: 'version-changed', 'deleted' !6546list-objects
to support (in-cluster <=> remote) diff !6547, !6548list-range-prefix
iterator !6560list-objects
!6562, !6563ETag
in response headers !6569s3cmd
to run elsewhere !6600, !6601HEAD(bucket)
!6614get-cold-blob
interface; refactoring !6634nil
client !6636ETag
as object version; build !6647sync.Map
instead !6649, !6651max-page-size
!6657pylint
to pass !6556aisloader-composer
: install docker alongside latest cri-o
on CentOS !6436aisloader-composer
: fix install-docker and update OCI inventory !6446, !6449aisloader-composer
: update OCI inventory; avoid using reserved variables in playbooks !6452aisloader-composer
: update dashboard with k8s only networking visualization !6453aisloader
: support latest-version
!6581aisloader
: add '--cached' flag !6623gocritic
"huge-param" !6457gosec
linter !6462etl
label & rule !6488pypi
package for aistore !6492jq
to init container for parsing JSON in Bash scripts !6577meta
, ais
, cmn
); docs !6463bucket.md
, out_of_band.md
, and CLI docs !6527etl-init
usage instructions !6611iterate-fields
separator; 'config log.modules' multi-choice !6458(bucket | multi-object)
!6534job-id
!6614ais ls --summary
and ais storage summary
to utilize the same control message and flagsprime-time
to amend local generation of globally unique IDs !6325limited-coexistence
; transport: track closed endpoints !6334prime-time
: add caller-is-primary
; up cli module !6335min
and max
functions !6337list-objects
(remote-bucket-and-only-remote-props); Go 1.21 clear
built-in !6339join-err
, remove error channel (minor) !6347vol
package !6349fqn
param to spec templates !6351bucket
, namespace
!6352uname
hash !6359dsort
: error handling, assorted cleanups, more scripted tests !6366validate-warm-get
to support non-versioned buckets, and more !6375validate-warm-get
to support non-versioned buckets !6376HEAD(object)
request !6378load-unsafe
(the faster way to load local metadata) !6382list-objects
and summary
!6384, !6386, !6387config.Rom
to consolidate assorted "read-mostly" config values; refactor and unify !6388checksum
, version
) if not asked to !6394dpq
) !6402validate-cold-get
!6420validate-warm-get
: add scripted test utilizing remote ais cluster !6423disable-fast-cold-get
; show performance latency
; up cli module !6425aisloader
and aisloader-composer
composer
: add playbook and script for intial aisloader
copy !6333composer
: add support for aisloader --filelist
option !6345composer
: add epochs option for GET workloads !6354composer
: add cluster name prefix to netdata
sources for easier filtering !6357does-not-exist
error; misc !6358dsort
job description !6367show cluster
to report total num disks !6371show performance
: usability fixes, improvements !6379show performance
not to filter regex-selected zero columns !6380ais show bucket
with an option to add remote bucket to cluster's BMD (effectively, create bucket) !6404ais search
: CLI command search results to include idiomatic extensions !6428urllib
version !6372validate-warm-get
(scripted) !6423aisloader
command !6385checkmarx
scan !6391golangci-lint
, add linters !6407, !6408err-aborted
message !6290aisloader
, logger (assorted fixes) !6298aisloader
: list and read s3 buckets directly !6291aisloader
: list, read, and write s3 buckets directly !6292aisloader
: fix cleanup option for s3 bucket benchmarks !6294aisloader
: reimplement direct get from s3 - use SDK !6295aisloader
: show progress when listing s3 directly !6296ETL_NAME
var for CLI tests !6310aisloader-composer
: add playbook and script for clearing Linux Page Cache on all AIS targets !6311aisloader-composer
: add playbook for copying aws credentials !6314arg-type
!6287, !6323rand
for 100% or 50% read/write workloads !6256aisfs
(FUSE) !6273htext
to track restarted state; target run and misc !5966metasync
just-in-time; assorted refactoring (minor) !6001meta
package !6006, !6007cmn/archive
package !6044nlog
(new logger) !6113, !6122, !6124fs.PathError
; add object name validation !6127.tar.lz4
!6128join-err
; reduce default pre-election interval !6141transform-url
flag (used when initializing ETL with code) !6010mountpath
completions; disable/detach; minor ref !6056dry-run
option is back !6078pyaisloader
: total size/count fix !6146pyaisloader
stage !6148aisnode
image !6154See also:
xaction
term and subcommand (everything is job
now) !5692ais create bucket --props
& ais bucket props set
!5706show jobs
(major) !5726, !5727bucket cp
alias !5730etl-name
transition !5767etl-name
in AISDataset
and AISFileLoaderIterDataPipe
!5957NoRecursion
to support S3 delimiter feature !5930xaction-snap
control structure (major upd) !5740api
package (major) !5776prefix
option !5894cluster.Target
interface !5689err-stream-terminated
!5733has-active-peers
; refactoring !5760delete-object
; lesser assert !5782KindSize
!5815ais-init
image !5646golang/x/net
security alerts (two commits) !5838test-promote
!5763dloader
package (formerly, 'downloader') !5647, !5648, !5649etl
, downloader
, dsort
!5664notif
abstraction (minor) !5902See also:
HealthUptime
; use it to show remote clusters !5636CACHED
(column) only when it's informative (and not when user asks ais ls ... --cached
) !5554, !5555list-objects
structures; regenerate message pack !5542, !5543list-objects
version 2 (major): !5583, !5584, !5586, !5589, !5590, !5591, !5601, !5602, !5605, !5607list-objects
flow with a single target listing remote props (name, size, version) !5608list-objects
to include (in listing result) custom object properties !5614get
, put
, head
object, and list-objects
!5615, !5616/gs
, /az
, and /ais
endpoints !5486list-buckets
and get-bucket-info
API; CLI summary table !5521, !5522list-buckets
version 2 (major update) !5524list-buckets
version: w/ presence but wo/ summary !5535, !5536- [API change] add presence
filter; eliminate bucket-info control structure (is redundant); refactor !5540list-buckets
and bucket-summary
cont-d !5541bucket-summary
on-disk (apparent) vs sum-all-objects, remote vs cached !5545bucket-summary
and list-buckets
cont-d unification !5546, !5547list-buckets
by target: remote ais; hdfs and http; cloud; other !5567list-buckets
correctness for named bucket queries !5626list-buckets
to include all providers !5485Server
when redirecting !5495aws s3api
example !5500HEAD object
implementation; multipart ETag
; miscellaneous fixes !5504ais object ls
command; add present
flags !5514cgo
disabled !5526display-name
helper (and consistent usage) !5539--all
to list both buckets and objects (in remote buckets) !5551atime
& ctime
!5612curl
example to set backend bucket property !5380ulimit
, reference checked-in version of limits.conf
!5429Local Playground
option !5484IO communicator
!5415list-buckets
: add cases; up CLI !5569, !5570bucket-exists
helper !5606list-buckets
test that checks expected result !5631IO communicator
fixes !5413init-code
with chunk-size param (major) !5446, !5447init_code
changes for before and after functions !5449filter
(new), transform
, and before
/after
!5451hpush
yaml with bitwise flags !5479/gs
, /az
, and /ais
endpoints !5486User-Agent
to http request headers !5494lom.rename-file
w/cleanups !5509lom.persist
& recache/refresh
!5510atime
on PUT !5511api.GetBucketInfo
!5519fs
: add size-bucket and refactor x-bucket-summary !5523cos-assert
; align (minor ref) !5587x-archive
to always close data mover !5594rx-loop
!5599list-objects
versioning part, speed-up working with versioned buckets !5612, !5613get
, put
, head
object, and list-objects
!5615, !5616try-init
logic to add buckets on the fly !5628bool
) !5635HealthUptime
and use it to ais show
remote clusters !5636xaction
, move xs
package !5383dbdriver
, simplify !5384etl-md
sgl !5414fieldalignment
analyzer !5431, !5432, !5433, !5434, !5435, !5437, !5438, !5440, !5442curl
in aisnode k8s image !5427gofmt
to replace interface{}
with any
!5533objwalk
pkg !5551, !5553trname
(transport endpoint name) !5614devtools/trand
for tests; use strong randomization for product !5465get-primary
, wait-for-cluster-state
, wait-smap-sync
!5571, !5580, !5581aisloader
: writing non-ais buckets !5600buckets-contain
helper !5627--override-backends
and more !5617, !5618.dockerignore
!5382limits.conf
to all docker images !5391aisnode
for minikube !5398golangci
: re-enable nolintlint
, run go1.17, comment-out disabled !5439cli
module to have its own Makefile !5505nolintlint
!5424golangci
v.49 !5489ais auth
CLI !5281copy_bucket
method !5225test-short
github workflow (Linux) !5271rm -rf
!5224ais show cluster
; add K8s POD names !5243, !5244$HOME/.config/ais
!5327config node reset
!5363iter-fields
unit for recently added config extras !5290list-objects
flags: unify, rename, document, and reference !5332cos.size
type and "kb", "mb", etc. suffixes !5156cos.size
vs backward compatibility !5157memsys
section and tunables !5158join-cluster-at-startup
timeout !5161log-stats
time, add validators !5171tcb
(transform-and-copy-bucket) section; stream bundle multiplier; compression !5173msgpack
archiving; list, create, and read msgpack
formatted shardsmsgp
(generic) shard !5100, !5101msgp
generated files !5086msgp
; sgl as io.ByteScanner
; Python unpack to test !5103msgpack
!5104msgpack
(in addition to tar, tgz, zip) !5107, !5108list-buckets
!5120list-objects
API !5163put-object
& head-bucket
API !5141_request_raw
method !5164head-object
method !5166setUp
and tearDown
in tests !5167evict-bucket
and delete-object
; add props argument for list-objects
!5175get-object
returns a stream instead of the entire content !5184read-all
method for streams !5196list_object
to support pagination !5198msg.py
-> types.py
!5203show cluster config
feature flags in human-readable format !5133ais object rm --all
to remove all in one shot !5195msgp
(generic) shard !5100, !5101devtools
: wait-cluster; transport !5209msgp
usage; add msgp-update
to Makefile !5085msgp
generator usage !5094msgpack
!5110fasthttp
package !5092lom
!5083content-length
!5102atime
when !5105write-policy
: both metadata and data; bump up config's meta-version; backward compatibility (major) !5121bench/soaktest
; rewrite devtools/readme
!5136mock-bmd
=> cluster/mock (refactoring) !5147deploy.sh
script for older bash versions !5165get-object
lock/unlock (refactoring) !5176+build
directive (obsolete) !5188, !5189aisloader
works !5199api
: xaction
wait-IC min waiting time !5202compute-checksum
and clone-md
(ref) !5205memsys
: mem-free to include buff/cache !5206memsys
: revise sys/mem (major) !5207lif
to lom
conversion: free on error; EC error handling !5208lif
(ref) !5212lom
as a reader, lif
as unlocker !5213gfn
): reg hk
housekeepr under lock; abort to self-expire !5215lom
copy: allocate with name !5216lom
xattr (ref) !5217