Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add overwrite operation to mako #1

Closed
wants to merge 3,260 commits into from
Closed

Add overwrite operation to mako #1

wants to merge 3,260 commits into from

Conversation

sfc-gh-sgwydir
Copy link
Owner

  • Added VectorRef::clear
  • Added StreamCipher
  • Added AsyncFileEncrypted
  • Disable StreamCipher if TLS is disabled
  • Disable StreamCipher for Windows
  • Added BenchEncrypt
  • Use random eviction policy for cached AsyncFileEncrypted blocks
  • Moved AsyncFileEncrypted::RandomCache implementation to cpp file
  • Move global key into StreamCipher
  • Disable copying StreamCipher::Key
  • Make StreamCipher::Key constructor effectively private
  • Clean up StreamCipher::Key::globalKey in crashHandler
  • Clean up all cipher contexts in crashHandler
  • Fix flowbench build
  • Fix Windows build
  • Setting stage to add support for super pages for Redwood FIFO queue.
  • basic framework for range feed support
  • added missing include
  • fixed mutationRefAnfVersion constructor
  • fixed compile error
  • fix registerRangeFeedActor
  • more fixes
  • rangeID is a key
  • added missing load balance field
  • change to an ordered map for now
  • more compile fixes
  • compile fixes
  • fixed name of function
  • compile fix
  • added missing break
  • added logging
  • added missing continue
  • disable range feeds temporarily
  • more logging
  • re-enabled range feeds
  • prevent pointing to released memory
  • fix compile error
  • add Standalone support for MutationRefAndVersion
  • added support for popping rangefeeds
  • rename data to self
  • the sim2 runloop now updates time in batches so that multiple tasks can execute with the same now()
  • limit the number of tasks that can be executed with the same now()
  • do not batch with tasks created as a result of other tasks in the same batch
  • updated how simulation does the batch to better match the real runloop
  • fix: do not allow actualTime to go backward
  • increased max batching time
  • lowered the buggified time batching
  • execute tasks within a batch in priority order
  • removed an assert
  • switch to stable_sort
  • enable randLog
  • use the stable value from instead task instead of stable_sort
  • fix spacing
  • sort by time after priority to better match Net2
  • randomize execution order of tasks with the same priority
  • avoid possible collisions between stable numbers
  • simulation framework delays still need to be ordered
  • changed the logic for when stable can be randomized
  • do not reorder on the machine process
  • fixed formatting
  • temporarily disable stable reordering to make sure the result of the PR is correctness clean
  • do not allow batching with tasks that must be ordered
  • fix compile error
  • ordered tasks are executed at the highest priority instead of disabling batching
  • ordered tasks in a batch are executed first and in their creation order
  • switch to a separate queue for ordered tasks
  • slightly adjusted seconds check
  • add back in the machine check
  • give more time to cleanup tasks when rebooting
  • another location that needs to account for run loop time batching
  • check isStopped between each task
  • update mutex usage
  • too much run loop batching slows down the speed of transactions enough that if cannot commit transactions fast enough when either TRANSACTION_LIFE_VERSIONS is buggified to be small
  • attempt to avoid having batching consume extra simulated time
  • added logging
  • more logging
  • enable trace event
  • fixed trace event
  • debug loggging
  • fixed message
  • more logging
  • enable all diskqueue logging
  • disable broken logging
  • more logging fixes
  • another wrong trace
  • another trace
  • fix trace
  • get tracing to compile
  • more logging
  • logging fix
  • log more page sequences
  • more logging
  • log file sizes
  • log all file size changes
  • more truncate logging
  • add filehandle
  • removed logging
  • fix: OPEN_ATOMIC_WRITE_AND_CREATE did not create a new file handle for the replacement file, so when the disk queue calls replaceFile, truncates against the old file handle will happen on the new file resulting in corruption
  • clang-format
  • typo
  • fixed broken test macros
  • do not build new teams while shutting down data distribution
  • Remove unnecessary header in IClientApi.h
  • Refactor consistencycheck command using special keys
  • Add comments for AsyncFileEncrypted changes
  • Change namespace FDBCLI to fdb_cli
  • Add a thread-safe function that converts ThreadFuture into Future
  • First pass at Extent based queue for redwood remap queue.
  • Apply clang-format.
  • Check in missed file from merge.
  • Removed duplicate RawPage, debug output change.
  • Temporary debug output changes.
  • Update the thread-safe Future-to-ThreadFuture method, added two TSAN unit tests
  • Add comments, fix typos
  • Add comments for refactoring
  • First draft of config-db
  • Implemented simple ConfigurationDatabase workload, run simple configuration database node on coordinators
  • Build interfaces for full config update pipeline
  • Remove SimpleConfigurationConsumer.actor.cpp
  • Store mutation log on SimpleConfigDatabaseNode
  • Add ConfigFollowerCompactRequest
  • Implement SimpleConfigDatabaseNode::getFullDatabase (not tested yet)
  • Refactor ConfigurationDatabaseWorkload
  • Fix comment typo
  • Add documentation for consistencycheck special key
  • Several improvements to SimpleConfig pipeline and test workload
  • Read and write in the same transaction in ConfigurationDatabaseWorkload
  • Expand ConfigurationDatabaseWorkload to support running multiple clients, broadcasters, and consumers
  • Increase default number of increments, broadcasters, and consumers in ConfigurationDatabaseWorkload
  • Update safeThreadFutureToFuture and remove the unnecessary wrapper
  • Use multiple clients by default in ConfigurationDatabaseWorkload
  • Add random sleeps to ConfigurationDatabaseWorkload::runClient
  • Add random sleeps within transactions in ConfigurationDatabaseWorkload
  • Added /fdbserver/SimpleConfigDatabaseNode/versionedMutationKeyOrdering unit test
  • Fix versionedMutationKey ordering bug and strengthen default ConfigurationDatabaseWorkload
  • Add a workaround to temporily use the ryw to create a ThreadTransaction; Make sure we are using the same underlying ryw object
  • remove unnecessary print message
  • Update the file/function name to follow normal case naming as consistencyCheck*
  • Update the file name to follow normal case naming
  • Add new line in the end of the file
  • Added SimpleConfigDatabase compaction (not yet tested)
  • Disable the two unit tests in simulation as std::thread is not supported in simulation
  • Add IConfigTransaction::getRange (not yet tested)
  • Fix type of ConfigurationDatabaseWorkload::transactionTooOldErrors
  • Modified ConfigurationDatabaseWorkload to run modified cycle workload
  • Add actors to grow and shrink cycle in ConfigurationDatabaseWorkload
  • Added version_already_compacted error
  • Add compaction to ConfigurationDatabaseWorkload
  • Enable compaction on SimpleConfigDatabaseNode
  • Update LocalConfiguration.actor.cpp
  • First implementation of LocalConfigurationImpl::consume (not yet complete)
  • Add logger to SimpleConfigBroadcaster
  • Fix several SimpleConfig bugs. Some bugs still exist
  • Make ConfigFollowerInterface copyable
  • Run SimpleConfigBroadcaster on cluster controller
  • LocalConfiguration tracks serverDBInfo changes
  • Very simple partial implementation of LocalConfiguration::consume
  • Expand LocalConfiguration (not yet tested)
  • Split LocalConfiguration knobs into default, configDatabase, and manual
  • Remove broadcastConfigDatabase actor
  • Fix some bugs in distribution of configBroadcaster interface
  • Encapsulate ConfigFollowerInterface::_id
  • Misc bug fixes.
  • Added simple DynamicKnobsWorkload
  • Add ISingleThreadTransaction.h
  • Make SimpleConfigTransaction an implementation of ISingleThreadTransaction
  • Implement SimpleConfigTransaction::getCommittedVersion
  • Mark methods as invalid in SimpleConfigTransaction.h
  • clang format PR
  • more formatting
  • Add id to localconf file name
  • Improve const-correctness of ISingleThreadTransaction
  • Make ThreadSafeTransaction implementation less verbose
  • Fix boost download links
  • Addressed review comments
  • Mako should be able to set loggroup
  • Add documentation for consistencycheck
  • Revert "Actually close files in simulation"
  • Rewrote FIFOQueue::Cursor read and write actors for more clarity, less overhead, and to fix bugs during pager shutdown.
  • fix documentation build
  • Use a deterministic iteration order for committing in the special key space
  • Deduplicate
  • Add missing documentation for special keys
  • Replaced IPage with ArenaPage, a new Arena-based page class which enables StringRefs to hold a reference to Redwood page memory.
  • Update special keys documentation, fix typos
  • Provide "time since last full recovery" in fdbcli status
  • Provide "time since last full recovery" in fdbcli status
  • fix typos, solve comments
  • Use default initializer for TraceEvent::errorKind
  • Added Arena::allocateAlignedBuffer() to get an aligned memory block owned by an Arena, and ArenaPage uses this.
  • Fix remaining download links
  • BTreeCursor now exposes the current Page and Mirror arenas so that users extracting Standalone Keys and Values can just reference those instead of copying.
  • Upgrade api version from 700 to 710
  • Update documentation/sphinx/source/administration.rst
  • Update documentation/sphinx/source/developer-guide.rst
  • Update cmake target to 7.1
  • Cherry picked Redwood - Skip page copy for update if page wasn't already cached apple/foundationdb#4678 changes onto Zero-copy reads in Redwood via Arena-based pages and ability to allocate 4k-aligned memory in Arenas apple/foundationdb#4780 to resolve conflicts.
  • Some fixes, perf test, cleanup etc.
  • clang-format and revert test params.
  • Added a test of Arena dependencies and destruction when using the new aligned buffer feature.
  • Revert RandomUnitTests.toml
  • Use a constant 16 Byte entry for extent queue performance test.
  • Fix global config updates not triggering on fdbserver processes
  • Add two safeThreadFuture unit tests into ctest
  • fix merging conflict
  • Add headers in new files
  • Adding TraceEvent when a worker is removed from cluster controller.
  • Added worker network address and process class details to trace log.
  • Rename of variables in trace event.
  • Using failedWorkerInfo before its gets erased
  • Add perl + flamegraph to EKS docker images
  • Commit less frequently and periodically yield in the extent queue perf test.
  • Fix OPEN_FOR_IDE option for cmake
  • Fix typo in the variable name
  • Switch std::function to AsyncTrigger
  • Fix OOM
  • Add tool for upgrading API versions
  • Convert apiversioner.py to Python 3
  • Fix raw_input
  • Perf test changes.
  • Misc.
  • [fdbbackup] make credentials optional
  • [fdbbackup] make hmac_sha1 static
  • Fix file name
  • [fdbbackup] check for credentials inside of setAuthHeaders
  • Fix S3BlobStoreEndpoint::getURLFormat
  • clang-format S3BlobStore* files
  • Revert "Fix global config not triggering changes on server processes"
  • Add documentation for getTransaction function, which is used for refactoring
  • Replace config_transaction option with use_config_database
  • Remove ISingleThreadTransaction::getMutableDeferredError
  • Revert "Make ThreadSafeTransaction implementation less verbose"
  • Fix SEGFAULT in call to ReadYourWritesTransaction::preinitializeOnForeignThread
  • Add ASAN and TSAN to the build container (Add ASAN and TSAN to the build container apple/foundationdb#4796)
  • Remove unnecessary temporary objects while growing objects of type std::vector<std::pair<A, B>>
  • Add ThreadSafeDatabase::isConfigDB field
  • Revert "Merge pull request Features/actor lineage apple/foundationdb#4136 from sfc-gh-mpilman/features/actor-lineage"
  • Add schema to configuration database (not yet tested)
  • Minor configuration database bug fixes
  • Update FDB_API_VERSION to 710
  • add comments for error handling in ConsistencyCheckCommand.actor.cpp
  • Guard the added unit test by NOT OPEN_FOR_IDE
  • Capture how fast an SS is catching up to its tLog-SS lag
  • Store all types of knobs in LocalConfiguration
  • Update fdbcli.h to fdbcli.actor.h, removed the unnecessary wrapper
  • fix header's include order
  • Update comments and trigger CI
  • Refactor ConfigBroadcaster
  • Add config_classes command line option for fdbserver
  • Add ConfigClassSet:::contains method
  • Set connectionFile instead of creating a shadow
  • Capture how fast an SS is catching up to its tLog-SS lag
  • Fix several package issues (Fix several package issues apple/foundationdb#4801)
  • Create new ConfigKnobOverrides and ManualKnobOverrides classes
  • Remove unused file
  • Add unit tests for LocalConfiguration
  • Improve /fdbserver/ConfigDB/LocalConfiguration unit tests
  • Only log timeout when CC is unknown for a worker.
  • Use SimpleConfigConsumer in LocalConfiguration
  • Fix LocalConfiguration unit test failure
  • Implement LocalConfiguration restart unit tests
  • Extend LocalConifguration unit tests
  • Added IDependentAsyncVar generic class
  • Report bounce impact in fdbcli status
  • Report bounce impact info as part of cluster JSON object.
  • Report bounce impact info as part of cluster JSON object.
  • Add basic ConfigBroadcaster unit test
  • Bring Logging more detailed information during Tlog recruitment apple/foundationdb#4518 (Logging more detailed information during Tlog recruitment) back.
  • Provide a better explanation of the new metrics in the release notes.
  • ConfigDatabaseUnitTests refactoring
  • Test manual knob overrides in LocalConfiguration unit tests
  • Address build failure
  • Add LocalConfigurationMetrics logging
  • Put aarch64 libfdb_java in the right place for fat jar
  • Improve configuration database logging
  • Use proper string equality
  • Get /fdbserver/ConfigDB/ConfigBroadcaster/Simple unit test passing
  • updated copyright year on web site
  • Added /fdbserver/ConfigDB/ConfigBroadcaster/CheckpointedUpdates unit test
  • Add pollingInterval and compactionInterval fields to SimpleConfigConsumer
  • Fix accounting for time spent in run loop after breaking due to yield
  • Use multiple consumers in /fdbserver/ConfigDB/ConfigBroadcaster/CheckpointedUpdates unit test
  • Added /fdbserver/ConfigDB/ConfigBroadcaster/Compact unit test
  • Add release note
  • Test changing broadcaster in ConfigDB unit tests
  • Speed up /fdbserver/ConfigDB/ConfigBroadcaster/CheckpointedUpdates test
  • Remove duplicate logic from ConfigDatabaseUnitTests.actor.cpp
  • Add more fine-grained unit testing of LocalConfiguration
  • Support global configuration database updates
  • Remove duplicate Knobs::reset code
  • Use of aligned_alloc() for 4k pages causes too much wasted virtual memory. Added new 4k-aligned fast allocator, and changed Arena::allocatedAlignedBuffer() to be 4k-specific, now called Arena::allocate4kAlignedBuffer().
  • Improve const-correctness of ISingleThreadTransaction
  • Fix some SimpleConfigTransaction bugs
  • Improvements to configuration database unit testing
  • Added /fdbserver/ConfigDB/TransactionToLocalConfig/ unit tests
  • Bug fix: It is possible for the pager to be shut down while a cursor operation is acquiring its mutex, specifically after the permit is available but before the delay(0) inside take() is ready, causing the cursor to operate on an invalid pager.
  • Clarity improvement, loop was reusing variable name from enclosing scope.
  • Bug fix, returned value wasn't pointing into the correct arena.
  • Avoid callers of getValue() and getValuePrefix() from being able to add arena dependencies to the source page arena.
  • Changed ArenaBlockRef to use 32 bit aligned4kBuffer size.
  • Applied clang-format after conflict resolution.
  • Refactor ConfigDatabaseUnitTests
  • Remove waitUntil actor in ConfigDatabaseUnitTests.actor.cpp
  • More configuration database unit testing improvements
  • Break down configuration database unit tests and fix some more bugs
  • Add 3 new configuration database unit tests:
  • Added dummy PaxosConfigTransaction implementation
  • Update ISingleThreadTransaction::create to support PAXOS_CONFIG transactions
  • Added dummy PaxosConfigConsumer implementation
  • Add command line support
  • fix perpetualStorageWiggleKey
  • Add dummy PaxosConfixDatabaseNode implementation
  • Update fdbserver/IPager.h
  • Improve decoupling of configuration database interfaces and implementations
  • Address review comments.
  • Added --ignore_config_db and --use_test_config_db command line arguments
  • Implement getValuePrefix() using getValue() rather than the other way around to avoid the common getValue()'s actor state increasing from 128 to 256 bytes since it is a very hot code path.
  • Support disabling configuration database node servers
  • Add ConfigBroadcasterImpl::getStatus (not yet tested)
  • refactor advanceversion command
  • Add .cluster.configuration status json field
  • Remove duplicate advanceversion help text
  • Add severity in logWorkerUnavailable(). Also, only log when fitness is GoodFit or BestFit.
  • Add GetSnapshotAndChangesRequest type
  • Check for errors while performing compaction in unit tests
  • Address/remove some TODO comments
  • Added some more configuration database unit tests
  • Generalize and extend configuration database unit tests
  • Expose "bounce impact" and Storage Server "version catch-up rate" metrics
  • Expose "bounce impact" and Storage Server "version catch-up rate" metrics
  • Surfacing non-fatal parse errors in Test Harness output
  • fixed a rare simulation bug where missingFinalCommit could be skipped by two successive logSystem changes
  • Address review comments
  • Address a review comment
  • fix Schema check error
  • change UID to PID meaning Process ID
  • add pid2server_info to maintain Process id set
  • Refactor maintenance command using special keys
  • Refactor force_recovery_with_data_loss command using the corresponding client function
  • update error handling logic in fdbcli
  • allow simulation properties to be overwritten
  • Refactor snapshot command using the client function
  • fix format, make the call interruptable
  • add perpetualStorageWiggler
  • add knob
  • small clang format finds
  • avoid an infinite loop
  • throw non-file not found errors first to better handle injected faults
  • properly handle io_errors from the destructor of LogData
  • the sleep was too long and did not finish before shutdown complete
  • clang-format
  • Support digits in configPath
  • accidentally duplicated code
  • Make specific configuration overrides override global configuration overrides
  • Only enable backup worker when using partitioned logs
  • Introduce ConfigBroadcastFollowerInterface for broadcaster to local configuration communication
  • Refactor ConfigDatabaseUnitTests.actor.cpp
  • Add configuration database node compaction unit tests
  • Combine STL container helper functions in ConfigBroadcaster.actor.cpp
  • Create configuration database node files on demand
  • Create local configuration files on demand
  • Normalize configuration commit annotations
  • Improve logging on the current view of the database configuration that the cluster controller is using.
  • Implement SimpleConfigConsumerImpl::compactor
  • Expose "bounce impact" and Storage Server "version catch-up rate" metrics
  • update release notes to match the ones on release-6.3
  • fix iterator bug
  • close perpetual wiggling in QuietDatabase
  • Move patch notes to the appropriate section, and add new 6.3.14 notes
  • more release notes added
  • remove extra notes in "Status" section
  • move note to 6.3.14
  • add 6.3.12 notes
  • update formatting
  • Increased buggified SERVER_KNOBS->PUSH_RESET_INTERVAL value to 40.0
  • Handle retriable errors better in fdb_c_unit_tests
  • Removing spaces in SevWarn trace event names
  • Fixing multiple small redwood test bugs
  • Update fdbserver/FDBExecHelper.actor.cpp
  • merge master, fix promise callback bug
  • fix promise bug
  • Testing Storage Server implementation
  • More TSS Changes/Fixes
  • Adding comments for clarity
  • change quietdatabase
  • simulation setting
  • Changing role names and enabling tss by default in consistency check
  • Revert call to rawConfiguration.clear()
  • Address review comments.
  • Actually close files in simulation
  • fix typo
  • handle file renames properly
  • only remove files from the open map if they have no modifications in flight
  • Revert change
  • delete dead code
  • Use a weak reference in the open files cache (abstracted from a similar cache in AsyncFileCached) to avoid a problem where removing an item from the cache could cause us to reentrantly remove it again.
  • fix wiggler logic bug
  • For files that use the atomic write and create mechanism, attempt to remove the file from the openFiles map at both its old and new name
  • Knobbify the concurrent extent reads and perf test changes.
  • issue 4252
  • add knob enabling cross cluster support (default true)
  • Don't allow changing desriptor if knob is set
  • misc cleanup for publishing
  • forward back new coordinator
  • respond to comments made on 5/4
  • fix joshua failures, formatting
  • Respond to AJs comments
  • Add release notes for PR 4863
  • Grab moveKeysLockOwnerKey and moveKeysLockWriteKey when update dd related system keys
  • Address comments.
  • Fix a test issue where closing an AsyncFileNonDurable could permanently prevent you from reopening the file if the machine was in a failed state during cleanup
  • Reduce the frequency that buggified reads are failed so that transactions with a lot of reads aren't doomed to almost always fail.
  • remove forwarding
  • Add test for the fix
  • Addressing final PR comments
  • fix an existing typo in the documentation
  • Require a minimum of 6.2.33 for 6.2 snapshot restarting tests to avoid a bug in prior versions
  • Rename WeakFutureReference to UnsafeWeakFutureReference and add warning comment
  • Support and test restricted range reads
  • Support and test global knob names range reads
  • Reenable some configuration database unit tests
  • Add special configuration database keys to SystemData.h
  • Listen for IKeyValueStore errors in stateful configuration database objects
  • Make FASTRESTORE_ATOMICOP_WEIGHT a client knob
  • Remove fdbserver include from fdbclient/CommitProxyInterface.h
  • Move RestoreWorkerInterface into fdbserver
  • Make FASTRESTORE_ATOMICOP_WEIGHT a client knob
  • Remove fdbserver include from fdbclient/CommitProxyInterface.h
  • Move RestoreWorkerInterface into fdbserver
  • Move server knobs into fdbclient
  • Revert the debug printfs and cleanup.
  • Add a trace event to indicate completion of pager recovery.
  • solve recruiting conflict with TSS
  • Parse configuration knob values on the client
  • Move tag throttling classes into fdbclient/TagThrottle.h
  • Not doing timeout check in WriteDuringRead if simulation is injecting arbitrary delays
  • TSS Mapping Change
  • Update copyright headers
  • Addressing more review comments regarding PromiseStream usage and adding more comments..
  • fix memory bug
  • add comments for new actors
  • found bug in detecting first test in restart
  • Dereference to get result before marking "no access"
  • Try not marking buffer undefined
  • Add include to BenchMetadataCheck.cpp
  • Remove KnobValueRef::Clear class
  • comment modification; wait perpetual wiggling close
  • Store DatabaseContext reference in configuration transaction objects
  • Create IKnobCollection interface
  • Addressing review comments
  • Fixing valgrind error in TSS StorageServerInterface unit test
  • Add AWS CLI tool for downloading from s3
  • better api
  • add code coverage mark
  • Fix: when a file open completes synchronously, it wasn't being stored in the openFiles map.
  • Add an assert to confirm that try_emplace is inserting a new entry
  • Fix global config not updating on server processes
  • Rename variable
  • clang-format
  • Add interactive tests for fdbcli commands using a python script
  • Remove some unnecessary code
  • Update comments, fix typos
  • Update comments
  • Fix applying offset to NULL in C
  • Fix call to memcpy with null as second argument
  • Clamp to max int if large float is not representable as int
  • Avoid casting NaN to uint8_t
  • Avoid casting NaN to int64_t
  • Avoid casting NaN to int
  • Avoid calling memcpy with null 2nd argument
  • Avoid applying non-zero offset to null in c++
  • Avoid casting float unrepresentable as int to int
  • Avoid left shift of negative value
  • Avoid left shift of int by 32
  • Avoid passing null as second arg to memcmp
  • Avoid likely use after destruction
  • Fix signed integer overflow
  • add comment
  • Disallow conversion from float in specialCounter
  • Use uint64_t instead of uint32_t for histogram reporting
  • Revert "Merge pull request Revert "Merge pull request #4136 from sfc-gh-mpilman/features/actor-l… apple/foundationdb#4802 from sfc-gh-ljoswiak/revert/actor-lineage"
  • Bump well known endpoint index
  • remove unused header, fix the CMake rule
  • Remove outdated global config fix
  • Use fast allocator
  • Various ALP fixes
  • Lazy inititialization
  • Fixes
  • Attempt gcc compilation fix
  • Temporary fix for ld linking issue
  • Another gcc fix
  • Remove sample call
  • Add memory info to global config callback map
  • Remove setLineage
  • Remove restore_lineage
  • Try to fix arm build on clang
  • Explain requirements for fdb_c.g.S implementations
  • Use linker script for external workloads
  • Improve comments
  • Remove header that's no longer needed
  • Fix /fdbclient/knobs/initialize unit test
  • Fix LowLatency workload
  • Remove configuration_database from status when disabled
  • Add ConfigBroadcastFollowerGetChangesReply class
  • Disable configuration database in simulation by default
  • Fix/remove some TODO comments in configuration database code
  • Clean up unit test data directory between tests
  • Remove TestID from stateful configuration database classes, and fix some bugs
  • Added TSS documentation
  • Update bindings/c/test/unit/unit_tests_version_510.cpp
  • Remove Actor lineage field
  • properly set perpetual_storage_wiggle value during tests
  • Address some TODO comments in LocalConfiguration.actor.cpp
  • Add setLineage and Actor field back
  • Use g_knobs for SERVER_KNOBS and CLIENT_KNOBS
  • Add some release notes for 7.0 changes. Fix a bad link.
  • Divide the extent read into a vector or parallel disk reads.
  • Remove unneeded use of the word "master"
  • Small bugfix in the parallel extent read path.
  • fix: errors from the pager did not get forwarded to getError() from the disk
  • Enable sampling
  • Try thread unsafe reference counting
  • Experimetal change disable remapCleanup after recovery for perf testing.
  • Add a release note for PR 3759.
  • Add a backwards-compatible 'proxies' field to status json
  • added comments
  • Add proxies back to schema
  • Update documentation
  • Added DeltaTree2, which can be shared between updated versions of the same tree, but so far it is 50% slower.
  • Bug fix, recursive call to get() could cause rehashing so hash lookup must be redone afterward.
  • RedwoodRecordRef support for DeltaTree2.
  • Test output improvements.
  • fix perpetual wiggle bug caused by multiple DCs and removeStorageServer
  • DeltaTree2 refactor. Nodes no longer contain parent offsets. DecodedCache no longer uses a hash but rather a vector of DecodedNodes, which Cursors reference by vector index. DecodedNodes contain parent node indexes which are populated on-demand, making storage in the serialized form no longer necessary.
  • Added memory-only option for redwood set test.
  • Bug fixes, moveFirst/Last didn't handle tree size of 1 correctly.
  • Initial pass at getting BTree to compile with DeltaTree2. Does not work since the Cursor contract has changed.
  • Remove the legacy IVersionedStore / IStoreCursor classes and implementations as they are no longer useful or efficient, respectively. BTreeCursor can be used far more efficiently to access the BTree.
  • Bug fixes from bad search/replace. DeltaTree2::Cursor now keeps current decoded item as a member instead of calculating it on demand in get().
  • Bug fixes related to DeltaTree2::Cursor contract being different from DeltaTree::Cursor.
  • Bug fix in test data generation for IntIntPair DeltaTree unit test.
  • Bug fix: BTreeCursor::init() did not clear path.
  • Write path no longer uses non-caching reads because it is no longer necessary to avoid a page copy. Page copies are only done just before an actual change is made.
  • Removed unnecessary cursor member from InternalPageModifier. Changed BTreePage::tree() methods to return a pointer instead of a reference since >90% of usages want a pointer.
  • Removed redundant calls to Cursor::switchTree() since there are no cases where the it matters if get() references the old tree's value until the cursor is moved.
  • Print size of RedwoodRecordRef in unit test.
  • fix server_status bug
  • Removed RedwoodRecordRef::version since in the current design all record versions within a single BTree snapshot are the same.
  • Fixed memory leak, InternalPageSliceUpdates require destruction.
  • Fixed memory leak, DecodeCache reference count was initialized incorrectly. Streamlined perf unit test a bit.
  • Restore non-caching reads on the commit path, probably temporarily, to remove this as a variable before/after the switch to DeltaTree2.
  • Prioritized cache eviction of old page versions and freed pages.
  • Rare simulation-only bug fix. A single-page BTree with too small of a page size and one gigantic value can result in a root page list that is too large to fit in the hardcoded MetaKey size.
  • DeltaTree2::Cursor now reconstructs current item on-demand, caches it in an Optional member, and does not initialize it when a cursor is copied.
  • Remove some leftover Version field remnants, update RedwoodRecordRef comments.
  • Optimized record delta decoding / applying a bit, changed substring order to (value, keySuffix) since value is needed more frequently. Added DeltaTree2 item type requirement to create T from base's cached partial item instead of full record.
  • Prevent rehashing by reserving cache size limit in cache map.
  • Remove unused variable.
  • Log pagerMemoryOnly in test config.
  • Reading BTree pages no longer requires boundary records, as they are not needed if the page is already cached.
  • Removed or reduced several yields because they are called too often.
  • Added yields to prevent stack overflows from too many callbacks when queue operations accumulate waiting on IO.
  • Added FlowMutex, a low overhead replacement for FlowLocks with a budget of 1. Replaced mutex in FIFOQueue::Cursor with FlowMutex to reduce overhead.
  • Remove obsolete knobs.
  • Moved FlowMutex to genericactors.
  • Removed commit read FlowLock because it costs too much overhead, will need another way to throttle. Removed readPage() fromCache argument as it is no longer useful.
  • Move FlowMutex unit test to FlowTests.
  • Add exportLibrary for exporting external clients from jar
  • Redwood KVS wrapper now shares the same error Promise as the Pager, so the FlowLock in the read actors no longer needs to be reference counted.
  • Revert the experimental change.
  • Bump pager and btree format versions because there have been format changes.
  • Minor review comments.
  • Added TSS Quarantine and fixed TSS mapping bug in CommitProxy
  • Remove unnecessary std::string copies from flow
  • Allow FlowLock::kill to delete self
  • Fix batch txn throttling.
  • Remove redundant "or"
  • use the same health check as exclude to avoid 'best team get stuck'
  • Respect JOSHUA_SEED if set
  • Metrics to compare the bandwidth used by data distributions and updates
  • Consolidate the counters and add more comments
  • Remove duplicated logging and improve comments/style
  • More fixes to wording
  • Convert to 32 bit int
  • Add perl + flamegraph to EKS docker images
  • FDBCORE-617: Add mako option to prepend padding
  • add epoch info to trace events when tLog begins
  • Refactor IKnobCollection code
  • Make deltatree debug toggle easier to use.
  • Manage global flow knobs with global knob collection
  • add useful trace; add invalid wiggling server check
  • Added documentation for DeltaTree2.
  • Debugging help
  • revert controversial printf
  • 150 was too short and we were seeing false positives
  • TSS downgrade changes
  • Keep the threadFuture<Standalone<...>> alive uto hold up the memory
  • FDBCORE-617: Allocate mako prefix on stack
  • Improved pimpl const-correctness in configuration database classes
  • Fix some documentation rendering issues around the estimated range size bytes and similar functions.
  • Add comments to configuration database code
  • Remove defunct configuration database workloads.
  • Add UseConfigDB class
  • Revert changes to SpecificUnitTest.txt
  • Adding TSS Quarantine to docs and updating from PR suggestions
  • Adding comments and a quarantine case I forgot
  • Revert "Properly set simulation test for perpetual storage wiggle and bug fixing"
  • Refactor
  • Estimate live SST file size and not live data size
  • Add stacks back
  • Histograms for storage server write path components.
  • Revert "Revert "Properly set simulation test for perpetual storage wiggle and bug fixing""
  • TSS Mismatch Changes
  • Update fdbclient/PaxosConfigTransaction.h
  • Update fdbserver/IConfigConsumer.h
  • Update fdbserver/ConfigBroadcastFollowerInterface.h
  • Addressed review comments
  • Fix TraceEventOverflow error in HealthMetricsApi workload
  • Remove bad line
  • Add 7.0 release notes for PRs by sfc-gh-tclinkenbeard
  • Remove most work
  • Add removals back
  • Fix simulation bug
  • Add support for running non-simulation tests on Joshua
  • Actually add test file
  • Update fdbserver/workloads/HealthMetricsApi.actor.cpp
  • check healthy team count, dd queue and disk space; code refactor
  • code format
  • Revert "Add support for running non-simulation tests on Joshua"
  • Use unsafe reference counted
  • Bug fix: grvLatencyBands should take "GRVLatencyBands" as name.
  • ThreadSafe, remove getCurrentLineage work
  • Addressed review comments
  • Remove scoped lineage
  • Update fdbcli/ForceRecoveryWithDataLossCommand.actor.cpp
  • Revert "Revert "Add support for running non-simulation tests on Joshua""
  • Run noSim test as a unit test
  • Don't fail on missing simfdb dir
  • Replace lower priority txn request when limit is hit.
  • add injected fault check
  • Fixed segfault with simple mode
  • additional tracing for quietDatabase
  • don't allow double recruitement for storages
  • Cleanup
  • More cleanup
  • Even more cleanup
  • Remove stack lineage
  • added comments
  • minor simplification (address review)
  • Fix a heap use after free issue.
  • code refactor;change stopSignal;
  • Sample at 10Hz with 60 second window (default on)
  • Better fix.
  • Use custom memcmp impl on Arm
  • Add custom memcpy for aarch64
  • refactor templates to make them more readable and reusable
  • Remove redundant check.
  • Addressed review comments
  • Gracefully handle invalid manual knob value override
  • Improved error handling test coverage in LocalConfiguration
  • initial commit
  • Create health monitor in FDB workers to monitor network condition. This change is only inside the worker.
  • Remove unused parameters in registrationClient method
  • Handle sets and clears differently in SimpleConfigDatabaseNodeImpl::getKnobs
  • Write error output to stderr; update output format of unlock
  • Add test coverage for consistencycheck, cache_range, datadistribution, lock, unlock, setclass, suspend and all transaction related fdbcli commands
  • remove code
  • Add collector to get running actor name
  • Clarify a few points about the multi-threaded client
  • 6.3.15 release notes.
  • update comments
  • remove unnecessary version check in fdbcli
  • Added TSS to 7.0 release notes
  • update json schemas
  • adjust default value of stopWiggleSignal; better trace logic
  • Addressing comments.
  • Collect actors waiting on disk and network
  • Remove unnecessary Sev40 traces
  • Don't inject TSS faults if speedUpSimulation is set
  • factor out chunks of generateNormalConfig for readability and modularization
  • remove broken include
  • fix signatures and missing references
  • Rename coordination files to fix upgrades
  • Rename KnobsImpl.* files to ClientKnobs.*
  • Fix gcc -Wsubobject-linkage warning
  • Explicitly initialize useConfigDB in fdbserver.actor.cpp
  • cherry pick streaming replies to master
  • add and remove some healthy check to solve cluster status oscillation when #ss is little; simplify some code
  • add trace event to recovery_transaction step in recovery
  • wait remove
  • TEST condition
  • Don't fail consistency check if tss is unresponsive
  • Do not allow descriptor to change on upgrade tests
  • updated 7.0 release notes
  • fixed bad escaping
  • Consolidated 7.0 Release Notes.
  • Cleanup
  • Corrections.
  • Another fix.
  • Test fails with buggify on sometimes because of injected delays in run loop, so test now waits for each future to become ready regardless of delay.
  • Fixed bad escaping
  • Remove some boost dependencies
  • Create a separate documentation page for special keys under api references
  • Fixed compile error on macOS clang.
  • added a comment
  • Add a few ProxyStats fields.
  • Revert "Make the sim2 run loop match the behavior of the net2 run loop."
  • fix: The destructor of a parallel stream fragment could be called after the parallel stream was destroyed, by making parallelStream reference counted that problem is avoided
  • parallelStream holds a promiseStream of fragments, so we cannot make it reference counted without introducing a reference counting cycle
  • Fix a few instances of UB
  • add knob
  • Linked TSS release notes to documentation and largest PR instead of all PRs
  • Cherry-pick UBSAN fix
  • Halt on error in ubsan for ctest tests
  • Make hidden options exist
  • Fix the types of dl functions in the multi-version client
  • Properly enable santizers in RocksDB build
  • add documentation
  • add documentation page
  • Update command-line-interface.rst
  • Update perpetual-storage-wiggle.rst
  • Update documentation/sphinx/source/perpetual-storage-wiggle.rst
  • Add more release notes and placeholder for Redwood documentation.
  • initial draft on RedWoodMetrics changes
  • Remove preinitializeOnForeignThread
  • add percentage unit to histogram class
  • Add placeholder for Redwood documentation.
  • add recordCounter in histogram to track data from small ranges
  • Update the help text of fdbcli command setclass to split proxy into grv_proxy and commit_proxy
  • Update setclass' test to have random class type and use the specific network address
  • Add documentation for special key space modules
  • exclude servers based on locality match
  • exclude locality:clang-format, ranged loops, documentation, tracking addStoragesever for exclusion.
  • Snake naming of keys and added comments to all new functions.
  • Status json schema update, includelocalities back for consistency check, review comments.
  • exclude to work with any locality data match.
  • Add static_assert to *Writer::serializeBinaryItem
  • Special keys documentation merge issue fixes.
  • change histogram class static member variable to non-static
  • Remove fdbserver/Orderer.actor.h
  • Fix leak due to missing virtual destructor
  • add drawHistogram method in histogram class
  • initialize fields in redWoodMetrics struct explicitly
  • Update documentation/sphinx/source/global-configuration.rst
  • add redWoodMetrics::Level struct constructor
  • Add some documentation for the onMainThread functions
  • add setByteLimit in tutorial
  • Add streaming API release notes.
  • Update suspend test to avoid flaky results
  • Add updateWorkerHealth interface in cluster controller
  • Add metric to track the ratio of empty messages to tlogs
  • Clean up a few memory leaks
  • remove duplicate unset text in help text
  • Use unit test data directory for fdbrpc/AsyncFileEncrypted test
  • Update documentation/sphinx/source/release-notes/release-notes-700.rst
  • Update documentation/sphinx/source/release-notes/release-notes-700.rst
  • Update documentation/sphinx/source/release-notes/release-notes-700.rst
  • Few changes and adding placeholders for visibility documentation.
  • Support passing encryption file to BackupContainer::openContainer
  • Minor review comments.
  • Add --encryption_key_file command line argument to fdbbackup and fdbrestore
  • Add visibility.rst into toctree.
  • update redwoodmetrics structure; need to fix bug
  • Link the new global config documentation.
  • fix minor error
  • fixed a trace event which used fetchVersion before it was defined in the actor
  • fix error in order of paramters in atomicUpdatePage function
  • need to add detail information into log
  • Slight rewording.
  • Added /backup/containers/localdir/encrypted unit test
  • Make BackupContainer.actor.cpp less verbose
  • Support encryption for blob store backups (not yet tested)
  • Added invalid_encryption_key_file error
  • Add support for encryption testing in BackupCorrectness workload
  • Fix failing BackupCorrectness test with encryption
  • Test backup encryption in 10% of backup tests
  • Fix flowbench build
  • Set error kind to BugDetected for Crash trace events
  • Added AsyncFileEncrypted::mode field
  • fix typo
  • fix error in mapping item to linear bucket, histogram class
  • Address Dan's comments
  • Fix endpoint ordering by moving the new updateWorkerHealth to the end of ClusterControllerFullInterface
  • extra check in getHeight function
  • initialize sketches only once
  • add assert idx back
  • check in idx
  • Add include to DeterministicRandom.cpp
  • Add comments for recordEmptyMessage and getEmptyMessageRatio.
  • Add tracing documentation
  • output sketches summary
  • add stream struct in Tlog
  • format output
  • Remove ISingleThreadTransaction::create function
  • Update flow/ThreadHelper.actor.h
  • Update flow/ThreadHelper.actor.h
  • Update flow/ThreadHelper.actor.h
  • Added comment for crashHandler
  • refactor histogram header file
  • Hold a local copy of the ready promise to avoid the destruction of acknowledgementReceiver
  • Fix IThreadPool thread naming
  • Update flow/IThreadPoolTest.actor.cpp
  • Update flow/IThreadPoolTest.actor.cpp
  • Add target to build unversioned correctness pkgs
  • update trace information and fix minor errors
  • fix error in output
  • update histogram record count in set page size function
  • Implement the core logic of gray network triggered recovery in cluster controller
  • Run IThreadPool naming test outside simulation
  • clear buckets when upperBound is updated
  • tight bound idx
  • Add a ThreadID field to each TraceEvent. This is needed for multithreaded client debugging, and should also be helpful for multithreaded storage engines, SSL handshake threadpools, and so on
  • remove some comments
  • Implement Disk Throttling Chaos workload.
  • Disable recruitment determinism check for configurations with remote satellites
  • Pass vector by const reference
  • Adding the Disk throttle workload file that I forgot earlier.
  • And the test file.
  • add simple streaming peek functions
  • Added Streaming Read comparison for TSS
  • Fix invalid read
  • Added *BOOLEAN_PARAM macros to enforce documentation of boolean parameters
  • Expand use of BOOLEAN_PARAM
  • Fix copyright header for fdbclient/ClientBooleanParams.cpp
  • Added range read prefetching back to Redwood with a conservative approach that should rarely read blocks not needed for the range read. Removed unused knob declarations.
  • Added set method to boolean parameters
  • Use BOOLEAN_PARAM for TaskBucket
  • Use BOOLEAN_PARAM for backup agents
  • Fix "backslash-newline at end of file" warning
  • refactor TLog Peek code
  • Expand use of BOOLEAN_PARAM in backup code
  • Fix option validation for DISABLE_CLIENT_STATISTICS_LOGGING
  • Move BackupAgentBase method implementations to .cpp file
  • Added PriorityMultiLock, an efficient N-user lock with P priority levels. Replaced FlowLock in Redwood KVS wrapper with a PriorityMultiLock as a test and because it's more efficient.
  • Improve safety of backup agent poll delay
  • Make function declarations less verbose
  • PriorityMultiLock release callbacks yield less often.
  • implement tLogPeekStream
  • Addressed review comments
  • change trace message
  • initial draft on RedWoodMetrics changes
  • add percentage unit to histogram class
  • add recordCounter in histogram to track data from small ranges
  • change histogram class static member variable to non-static
  • add drawHistogram method in histogram class
  • initialize fields in redWoodMetrics struct explicitly
  • add redWoodMetrics::Level struct constructor
  • update redwoodmetrics structure; need to fix bug
  • fix minor error
  • fix error in order of paramters in atomicUpdatePage function
  • need to add detail information into log
  • fix error in mapping item to linear bucket, histogram class
  • extra check in getHeight function
  • initialize sketches only once
  • add assert idx back
  • check in idx
  • output sketches summary
  • format output
  • refactor histogram header file
  • update trace information and fix minor errors
  • fix error in output
  • update histogram record count in set page size function
  • clear buckets when upperBound is updated
  • tight bound idx
  • remove some comments
  • change trace message
  • Applied clang-format.
  • add trace event to tLog pop
  • Making it possible to run a multiple-cluster Java integration test
  • refactor get function
  • clean up add_trace_event_to_tLog_pop
  • fix double destruction memory bug
  • Single code path for sim and non-sim modes.
  • Less overhead per waiter execution in PriorityMultiLock.
  • Add support for building on Windows via Docker
  • Fix windows build.ps1 for compatibility with GitHub CI
  • add returnIfBlocked in stream request
  • Enable IThreadPool in simulation
  • Bug fixes in PriorityMultiLock related to destruction during a waiter callback. Removed a waitOrError() because it throws internal_error and shouldn't be needed anyway.
  • Don't check the random number generator state at the end
  • Delete remaining extern declarations for noUnseed
  • Refactored PriorityMultiLock again, fixed bug where slots could be under-utilized, reduced overhead when locks are released without waiting.
  • Added IO Priority to Redwood.
  • Undo changes unrelated to BOOLEAN_PARAM macro
  • Add FDB_ prefix to BOOLEAN_PARAM macros
  • Don't log key not found as an error
  • Fix printable bytes that may be escaped incorrectly
  • catch exceptions
  • Fix non-TLS build
  • Added ENCRYPTION_ENABLED macro
  • Move ENCRYPTION_ENABLED guard in AsyncFileEncrypted.h
  • Expand use of ENCRYPTION_ENABLED macro
  • Formatting status if the log version has not been set Update fdbclient/DatabaseBackupAgent.actor.cpp
  • Add LowLatencySingleClog.toml test
  • Fix ENCRYPTION_ENABLED typos
  • Update fdbserver/IPager.h
  • todo: raneg prefetch to leaf level, and format file
  • add an extra level to summarize non Btree events
  • Prevent masterServer from modifying db
  • Prevent dataDistributor from modifying ServerDBInfo object
  • Prevent storageServer from modifying ServerDBInfo object
  • Prevent storageCacheServer from modifying ServerDBInfo object
  • Prevent resolver from modifying ServerDBInfo object
  • Prevent logRouter from modifying ServerDBInfo object
  • add Knobs
  • relax perpetual wiggle pause condition; add trace log; correct perpetual wiggle priority setting
  • Prevent commitProxyServer from modifying ServerDBInfo object
  • Prevent grvProxyServer from modifying ServerDBInfo object
  • Prevent tLog from modifying ServerDBInfo object
  • Prevent ratekeeper from modifying ServerDBInfo object
  • Prevent backupWorker from modifying ServerDBInfo object
  • Use std::variant for ErrorOr implementation
  • Add rvalue reference overload for ErrorOr::map
  • Add perfect forwarding to Optional::map and Optional::orDefault
  • avoid passing reason and level infromation into getIfExists function
  • Change ASSERT to ASSERT_WE_THINK
  • Remove ASSERT_WE_THINK because of dependency
  • fix invalid trace detail name
  • fix the minor error in passing height
  • revert the previous change
  • remove generated file
  • move file out of build directory
  • remove build directory
  • fix height error in preload
  • remove unnecessary include
  • format the code with devFormat
  • Value should not be present for ENABLE_RUN_LOOP_PROFILING
  • s/IDependentAsyncVar/IAsyncListener
  • make level 0 a valid level to represent non BTree level counters
  • Put IAsyncListener implementation in its own namespace
  • Improve const-correctness of registrationClient arguments
  • Disable LowLatencySingleClog test
  • Wrapper class to avoid adding overhead to all async disk calls
  • put rangePrefetch statistics in L0
  • make output more elegant
  • make potential EventReason combinations static const member variables
  • move static potential combination outside the struct
  • More const-correctness improvements for Reference<AsyncVar> objects
  • fix compile commands for IDE
  • Remove some misleading wording
  • Update comment on metrics by level
  • fix comment typo
  • Enable RocksDB in simulation
  • Don't use the RocksDB engine with snapshot tests
  • Even smaller memtable
  • Add warn trace event about non-determinism
  • modify the reference
  • Fix invalid read
  • Add comment explaining coro threads
  • Make fdbmonitor IDs unique per section rather than globally unique
  • Move trim to anonymous namespace
  • Coordinator lets client know if it cannot communicate with cluster controller
  • IO priority tweaks. Writes are lowest, queue reads are highest, reads for prefetch, lazy clear, or remap removal are at leaf priority. Count pager disk reads and writes when they start, after the lock is obtained.
  • Fixed 'NoTraceFileGenerated' error in simulation tests when fdbserver process could not start
  • Added some comment
  • trivial changes
  • Fixed formatting
  • Cherry pick 871b098 from 6.3
  • Extend add_fdbclient_test to support multiple processes' cluster
  • Add comments, remove debugging info
  • Add default value for process_number in the constructor of TempCluster
  • Set process_number=1 for TempCluster
  • Remove unnecessay change, fix bug
  • Add comments, fix foundationdb.conf template
  • Add tests for fdbcli commands running against multi-process cluster
  • switch unitmapper to static arry
  • format the files
  • rename record_counter to count
  • Add the option to customize add_fdbclient_test timeout time
  • Add test coverage for exclude command
  • Add test coverage for coordinators command
  • CommitSubtree was still doing non-caching reads, this was unintentional.
  • Update some comments of the change
  • trace log and reset changes; byteAcknownledge overflow
  • fix: reply promise streams could receive messages out of order if the sender and receiver were the same process
  • Revert "RocksDB in simulation"
  • Update documentation to build with docker
  • Revert "Merge pull request Revert "RocksDB in simulation" apple/foundationdb#5194 from apple/revert-5144-rocksdb-in-simulation"
  • Don't use storageEngineExcludeTypes in restarting tests
  • Add SidebandMultiThreadClientTest
  • Disable the RocksDB engine in simulation in restarting tests or when it isn't built
  • fix issues
  • format files
  • change parameter naming
  • Setup cycleTest in the same txn
  • Added missing dependency of fdbclient on header(s) generated by bindings.
  • Rename ::TRUE and ::FALSE in BooleanParams to ::True and ::False so as to not conflict with the TRUE and FALSE macros provided by the Windows and MacOS SDKs.
  • Fixed PagerEventReason for BTree writePages(). Renamed enums to start with capital letters to match one of the two styles used throughput the code base (CamelCase or ALLCAPS).
  • Fix build with -DBUILD_AZURE_BACKUP=ON
  • Use std::unique_ptr for AsyncTaskThread::queue elements
  • Added /asynctaskthread/error unit test
  • Add RepeatableReadMultiThreadClientTest
  • Strengthen /asynctaskthread/add unit test
  • Corrections in BTreeCursor event reasons, fixed by BTreeCursor now storing reason as a member because it's much simpler. Some other clang-format changes and a couple of renames.
  • Simfdb cleanup did not recognize the unittests directory, fixed this and also made the cleanup code a bit cleaner.
  • Changed yield to delay(0) in places that use static counters to avoid trying to yield too often. Bug fixes with lazy delete queue entry heights.
  • Update fdbserver/fdbserver.actor.cpp
  • Use full generation in ConfigTransactionInterface
  • Add some simple implementations to PaxosConfigTransaction methods
  • Implement several more PaxosConfigTransaction methods
  • Replace Standalone with RangeResult in configuration database code
  • Add simple PaxosConfigTransaction::commit implementation
  • Add simple implementation to PaxosConfigConsumer
  • Chaos workload to randomly flip bits during SS writes.
  • Server committed version requests in SimpleConfigDatabaseNode
  • Remove multiple implementations of ConfigNode
  • Add IConfigTransaction::createTestPaxos
  • Remove unnecessary template
  • Closing a multi-version database causes us to cancel the protocol version monitor, invalidating its future. If a version change is triggered after that happens, then an assertion will be triggered that expects the future to be valid.
  • Add missing files and rename some.
  • more debug logs; let tryEstablishStream wait until the connection is good
  • Static assert that LiteralStringRef arg is literal string
  • Add FDB HA write path doc
  • Fix build/memory error
  • Don't include null terminator
  • Documentation fix.
  • Bug fix, setting var to itself.
  • Priority for commit reads should be == height.
  • Add COORDINATOR_LEADER_CONNECTION_TIMEOUT server knob
  • Throw error when commitProxy gets stuck
  • Increase max latency for LowLatencySingleClog test
  • Remove ReplyPromise::sendErrorOr
  • add stream peek to logRouter
  • fix macOS build
  • Change default data directory for unit tests outside simulation
  • Update bindings/c/test/mako/mako.c
  • Add VSCode workspace file pattern to .gitignore.
  • Disable test for exclude for now which can time out sometime
  • include FDB HA write path doc in toctree
  • Adding the clear range workload.
  • add stream peek function to oldTLogServer_x_x.actor.cpp and LogRouter
  • remove unnecessary compile guards
  • added one missed change
  • Refactor metric logging to be shorter and changed text format to be more condensed.
  • Fixed valgrind errors caused by memory lifetime bugs in Histogram usage. Removed usage of unneeded level 0.
  • BTree levels above the configured count for metrics are now included into the highest level, which fixes some valgrind errors and a crash.
  • Bug fix, BTreeCursor pager event reason was not being initialized. Changed metric column order.
  • Fix exclude test and re-enable it in ctest
  • Update comments in fdbcli_tests.py
  • Fix Java integration tests
  • add TLog streaming peek to OldTLogServer_x_x
  • Propogate errors if creating a database on an external client fails
  • Update release notes
  • Store encryption key file name in encoded Reference tuple
  • Fix most delete-non-virtual-dtor clang warnings
  • Enable sampling on fdbserver only
  • Handle database creation errors
  • Fix broken image link
  • memory error(Simple config)
  • add stream actor to serveTLogInterf
  • increment the version
  • Make orEquals() public.
  • Fix flow build issue on Windows
  • Update comment about failure to update version monitor DB
  • add redwood local historam registry
  • initialize pointer in constructor and format
  • Enable more clang warnings
  • Remove mutex that was only needed for a minor optimization.
  • Fix simulation issue
  • Fix release note version to account for two undocumented versions
  • Fault Injection Active/Deactivation
  • rename variable
  • Enable dangling-else warning for clang
  • Enable self-assign warning for clang
  • Fix many -Wreorder-ctor warnings
  • Add comments to orEqual()
  • Fix -Wreorder-ctor warnings in NativeAPI.actor.cpp and several other files
  • Fix -Wreorder-ctor warnings in LogSystemPeekCursor.actor.cpp and several other files
  • Fix more -Wreorder-ctor warnings across many files
  • Fix more -Wreorder-ctor warnings across several files
  • Fix more -Wreorder-ctor warnings in DataDistribution.actor.cpp, OldTLogServer_4_6.actor.cpp, and Net2.actor.cpp
  • Fix more -Wreorder-ctor warnings in storageserver.actor.cpp
  • Fix more -Wreorder-ctor warnings in DataDistribution.actor.cpp
  • Fix more -Wreorder-ctor warnings in OldTLogServer_6_2.actor.cpp
  • Fix -Wreorder-ctor warnings in TLogServer.actor.cpp
  • Enable reorder and reorder-ctor warnings
  • Remove macros from ACTOR functions in BackupContainerAzureBlobStore.actor.cpp
  • Remove reference fields from BackupContainerAzureBlobStoreImpl::ReadFile and BackupContainerAzureBlobStoreImpl::WriteFile
  • Use std::shared_ptr for BackupContainerAzureBlobStore::client
  • Reject connections to clusters forwarded in the (configurable) past
  • rebase
  • temperary change to fix local out-of-order delivery
  • problem: OOM
  • set local registry to null in destructor
  • Do not partially reset a transaction when it is committed or fails to commit with an error.
  • Ignore goodRecruitmentTime and populate default PEER_LATENCY_CHECK_MIN_POPULATION
  • Fault Injection Active/Deactivation - Edit TSS mode set_config
  • Fault Injection Active/Deactivation - Edit usage in fdbserver
  • Fix some cases where we were reusing a committed transaction without resetting it.
  • use a BinaryWriter::toValue and BinaryReader::fromStringRef instead of encoding time using a string
  • fix a minor error
  • Add PR number
  • Ignore warning from valgrind about F_SET_RW_HINT usage.
  • TestHarness Buggify/FaultInjection Enable/Disable
  • Move stderr exception checking so that ignored output does not count against the error limit.
  • use fastRef
  • Fix header for ConfigNode.h
  • Fix IConfigTransaction::getReadVersion implementations
  • Add .log() to bare TraceEvent() invocations without any .detail()s to avoid clang-tidy warning about immediate destruction of object without use.
  • add back the default parameter
  • added transaction retry to mako clean mode
  • added transaction retry to mako populate mode
  • Several BackupContainerAzureBlobStore bug fixes
  • Change BackupContainerAzureBlobStore URL format
  • Gracefully handle unset AZURE_KEY environment variable
  • initialize all memeber variables
  • Add waitAzureFuture function for improved error handling
  • 7.0 release notes of exclude locality and write path histogram features.
  • Disable sampling everywhere except fdbserver
  • Fix compiler error
  • disable simulation in ctest by default
  • Add test coverage for throttle
  • Fix bug where tests wouldn't be added to correctness package
  • Fix a comment typo in safeThreadFutureToFuture
  • Refactor throttle command
  • Add libatomic for building FDB using Clang
  • Attempt to fix gcc link issue
  • Flow transport uses an ordered delay to avoid out of order reply promise stream messages
  • Add debug tracing for BackupContainerAzureBlobStore
  • remove the .begin() to .end() fix
  • Bring back optimization that avoids hop to network thread
  • Fix issue where GlobalConfig wasn't initialized in time when running fdbcli --exec
  • Add GlobalConfig TraceEvents for easier debugging
  • Fix ctest timeouts
  • Add timeout
  • Make wait interruptable
  • remove registry in redwood
  • Avoid applying empty filter in BackupContainerAzureBlobStore::listFiles
  • modify histogram destructor
  • added retry txn for FDB_ERROR_RETRY
  • Improve BackupContainerAzureBlobStore handling of 404 errors
  • addRef
  • add a default output for histogram
  • Add some documentation to ConfigGeneration and fix getReadVersion implementations
  • fixed the build
  • disable streaming peek for localities < 0
  • Release notes for 6.3.17
  • Include proxies in the local worker list
  • modify ha-write-path.rst
  • Revert "Merge pull request Add libatomic for building FDB using Clang apple/foundationdb#5286 from xis19/master"
  • New Disk Delay Logic and ChaosMetrics.
  • remove two assertions
  • Turn the chaos knob off by default.
  • TestHarness Buggify/FaultInjection Enable/Disable - Update Old Binaries arguments
  • Update RocksDB version
  • Update contrib/TestHarness/Program.cs.cmake - Minor change
  • Bunch of changes based on review comments and discussions.
  • Add RocksDB metrics
  • Fix key name
  • Ignore the errors from getStorageServers.
  • made range feeds durable on the storage server
  • Add begin and end version filtering for files
  • added support for removing range feeds
  • Implement prefix key filter
  • Filter by version for mutations as well
  • Add histogram in GrvProxyServer.
  • Updated grvRawDist to grvGetCommittedVersionRpcDist.
  • Fixed off by one bug in fluentd ingestor
  • Add traceevent for all printed mutations
  • revert code refactor
  • add information print
  • add information print
  • Set max field length for long mutations
  • Bug fixes with block memory lifetime and handling reads that cross the end of file barrier.
  • Fixed warnings in IDE, applied clang-format.
  • Fixed file size limitation caused by block id being only 16 bits, now 32.
  • Fix trace event throttling by using different types
  • Update IV functions to use 32 bit block size.
  • Add UID to the events for decoders
  • Log prefix filter
  • clean 100k simulation test. revert changes of fdbrpc.h
  • Handle ascii special characters
  • Fix trace format json
  • Add --hex_prefix flag
  • Fix decoder bug of shadowing loop index
  • Refactor decoder
  • Remove verbose stdout messages
  • Fix trace events
  • Disable more ALP work when sampling disabled
  • Remove hot lineage modification
  • Remove unused code
  • Remove duplicated code
  • allow build folder as $BUILD_DIR
  • Account for the case where TLogInterface may not present in ServerDbInfo in worker health monitor
  • Avoid memory copies after decoding a new file block
  • Fix trace event UnfishedBlocks
  • Fix warning
  • 200k simulation: check stream sequence; delay in GetMore loop
  • Fix releaseMemory deadlock and add comments
  • Fix comment grammar (add a period)
  • Apply suggestions from code review
  • Revert drive-by TSAN fix
  • Disable rocksdb selection for VALGRIND builds.
  • format code
  • Disable multiprocess fdbcli tests while debugging flakiness
  • Add comments for the change
  • change log severity
  • Add trace_partial_file_suffix_test
  • Add trace_partial_file_suffix network option
  • Remove obsolete comment
  • remove unused variables
  • Expect trace file renamed after fdb_stop_network
  • Update fdbclient/vexillographer/fdb.options
  • Explain that no separator is added
  • support superpage withou modifying atomic update function
  • Finalize partial trace files during trace clean up
  • Remove std::filesystem usage for old OSX
  • format
  • format
  • fix a bug after merge
  • Replace parseIntegral with standard parsing functions
  • Add release note for trace_partial_file_suffix
  • Release note 6.3.18
  • Update documentation/sphinx/source/release-notes/release-notes-630.rst
  • Add release note to 7.0.0 as well
  • Remove hot TraceEvents
  • backup: Show error info for RemovedDeadBackupLayerStatus
  • Apply suggestions.
  • Update fdbbackup/backup.actor.cpp
  • Let CMake use /opt/boost_1_72_0_clang/ boost when the compiler is clang
  • Ensure CompileBoost work on Mac
  • fixup! Fix the indentation
  • When using non-Apple clang, link to libatomic
  • Add histograms to CommitProxyServer. (Add histograms to CommitProxyServer. apple/foundationdb#5299)
  • Don't use -latomic with clang
  • Refactor the setclass command
  • Remove unnecessay header, add new line at the end of the file
  • Disable advanceversion ctest
  • add CMake's option for bindings
  • debugging segfault
  • pushed wrong file
  • change uint8_t to unsigned int
  • Push updates to workers
  • Push updates to workers (clang-formatted files)
  • support LogRouter peek from TLog
  • Added fdbcli for blobrange
  • POC worker that dumps fdb range to an s3 object
  • Added delta file generation from a fake range feed
  • Added read path
  • Reader can read blob worker interface and mapping from db, read files, apply mutations, and return result
  • Fix naming typo
  • Refactor datadistribution command
  • Update comments in DataDistributionCommand.actor.cpp
  • Send ConfigBroadcastInterface to ConfigBroadcaster instead of entire worker interface
  • 200k test clean: enable remote Log pull from LogRouter
  • Remove many calls to .toString(), .printable(), and printable(...) from TraceEvent .detail() values to avoid double-escaping characters such that the same values look different in different events and can't be easily searched for. Also fixed a few warnings found by clang.
  • Don't loop over mutations with an empty loop if mutation tracking is disabled.
  • add readPhysicalPage_impl
  • Added PImpl class
  • Added ConfigIncrement workload
  • Added ConfigIncrement.toml test
  • Add random sleep to ConfigIncrement workload
  • Fix localIncrementActors calculation in ConfigIncrement workload
  • Temporarily comment out configuration database code breaking simulation tests
  • Rename GetGenerationRequests metric
  • Add configuration database type to ISimulator
  • Rename UseConfigDB to ConfigDBType
  • Support randomizing configuration database type in simulation
  • Fix TestConfig::ConfigBuilder::trace_visitor::operator()(Optional<std::vector> const* val)
  • Add GetGenerationQuorum to get generation from a quorum of config nodes
  • PaxosConfigTransaction should only send read requests to valid replicas
  • first attempt to add data distribution support for range feeds
  • Weaken ConfigIncrement.toml test
  • Introduced ThreadReturnPromisStream, the stream version of ThreadReturnPromise.
  • Fix TSAN warnings
  • enabled mako to do work to two clusters
  • fixed compile errors
  • fixed assertion error
  • Improve config broadcaster logic, fix unit tests
  • removed debug printf
  • removed debug printf
  • Fix another TSAN warning
  • Re-enable exclude command ctest
  • change Standalone to VectorRef
  • update constructor
  • Remove move constructor and assignment operator
  • optimize the read physical page path
  • Added unit test.
  • optimize the write path
  • Added unit test, and bug fixes.
  • revert unintended changes
  • fixed serialization of rangefeed durable keys
  • fixed a few bugs
  • Add tests back
  • added support for querying specific range feed versions
  • added comments
  • fixed usage of durable version
  • do not return send a reply to a pop request until the clear has been made durable
  • MutationTracking now uses a vector of keys to track. Removed "Mutation" detail from DEBUG_MUTATION() events because they are duplicates of the fields already logged in the returned MutationTracking event, which are now renamed and combined into "Mutation". Removed more toString() calls in TraceEvent detail values.
  • Move role UIDs for MutationTracking TraceEvents from various inconsistent detail fields into the TraceEvent UID field.
  • Move role UIDs for MutationTracking TraceEvents from various inconsistent detail fields into the TraceEvent UID field.
  • Blob worker handles multiple ranges now
  • Update fdbserver/ConfigBroadcaster.actor.cpp
  • Only test simple configuration database in ConfigIncrement.toml
  • Push updates to workers
  • Push updates to workers (clang-formatted files)
  • Send ConfigBroadcastInterface to ConfigBroadcaster instead of entire worker interface
  • Improve config broadcaster logic, fix unit tests
  • Remove move constructor and assignment operator
  • Add tests back
  • Rename config broadcast interface messages
  • Add broadcaster error check to unit tests
  • Only register consumer once on the broadcaster
  • Remove redundant dead worker check
  • Remove old TODO
  • Reremove old TODO
  • Use ActorCollection for consumer future
  • Revert error check
  • Update fdbserver/ConfigBroadcaster.actor.cpp
  • clean the constructor
  • fix: needed bigEndian instead of littleEndian
  • Added range tracking support to MutationTracking.
  • Reorder registerWorker to prevent potential conflict
  • Added range tracking support to MutationTracking.
  • Temporarily remove failing unit test
  • a number of bug fixes
  • Added Label field for keys and ranges in MutationTracking.
  • Added Label field for keys and ranges in MutationTracking.
  • Fix duplicate TraceEvent detail name.
  • Fix duplicate TraceEvent detail name.
  • Fix duplicate trace event fields on MutationTracking event.
  • Draft to use template to rewrite ThrottleApi
  • implemented a timeout for FDB_ERROR_RETRY
  • added support for streaming range feeds
  • added additional rangefeed commands to fdbcli
  • Push snapshot changes to local configuration on refresh
  • Switched to a separate test ThreadPoolReceiver
  • Wait for all snapshot replies before sending incremental changes
  • Added test for sending error
  • Fix heap use after free
  • clang-format
  • Refactor all ThrottleAPI functions using template and remove duplicate copies
  • Comments resolved.
  • solve mis-spelling, trace log and format problems
  • Update comments
  • Update comments, remove headers
  • Got full demo working
  • Fix download addresses
  • Fix Golang sample
  • bug seems fixed
  • Cleaned up code for demo
  • Add IsPrimary boolean parameter
  • remove FIXME
  • fix error in log trace events
  • Fix a crash in debug mode
  • storageRecruiter only responds to changes in recruitStorage endpoint
  • Improve DDTeamCollection const-correctness
  • seg fault bug fixed
  • remove lines about storage engine
  • level off by 1 fixed
  • Disabling option for removing eagerReads for ClearRange mutations.
  • Various TSS improvements from snowblower testing
  • Mark TCServerInfo::isCorrectStoreType const
  • Mark ServerStatus::excludeOnRecruit const
  • Remove dead code
  • try to fix exlcude fdbcli test
  • Capture deep copy of machine_info in printSnapshotTeamsInfo
  • Fix the wording of a CMake message for SSL on Windows
  • renamed range feeds to change feeds, data distribution support almost complete
  • Add assertion to overlappingMachineMembers
  • Update debugging logs
  • Make ccInterface a const reference in workerServer
  • Improve const-correctness for AsyncVar references
  • Log size of locationCache in client
  • Temporarily disable ConfigIncrement test
  • Remove LocalConfiguration::initialize
  • Increase well known endpoint index for WLTOKEN_PROCESS
  • Remove anonymous namespace in PaxosConfigTransaction.actor.cpp
  • disable trace log
  • Add fdbcli external client tests
  • Format fdbcli_tests.py file
  • Only register each worker once with config broadcaster (consumer currently disabled)
  • Reenable consumer in config broadcaster
  • Use DatabaseContext instead of Database in template functions
  • Remove change to Database
  • Add a local namespace in Ratekeeper.actor.cpp to differenitate name GrvProxyInfo
  • Force kill in killDatacenter didn't actually force kill always
  • checkpoint - working poc
  • Adding FIXME for simulation issue
  • Add version and timestamp to TimeKeeperCommit event.
  • Add IThreadPool test to cmake
  • Add Windows specific code for system time
  • Add SIGUSR1 and SIGUSR2 macros for Windows
  • Remove deprecated Action parameter for Windows Installer
  • Use Time instead of Timestamp.
  • Fix worker segfault by reference counting LocalConfiguration
  • Remove knob reinitialization from updateInMemoryState
  • Remove invalid assertion from LocalConfiguration::addChanges
  • Update log directory to server log directory. (Update log directory to server log directory. apple/foundationdb#5396)
  • Remove invalid assertion from ConfigBroadcastSnapshotRequest handling
  • Check in the prototype of MutationLogReader.
  • Address comments.
  • Add more comments.
  • Delete toml for unit test.
  • Enable debugTransaction before getReadVersion.
  • Update fdbserver/ClusterController.actor.cpp
  • fix uninitialized int
  • Change g_network->runNetwork to API->runNetwork
  • Add a sentence describing what MutationLogReader does at high level.
  • change histogram counts write to log format
  • Add back LocalConfiguration::initialize
  • Fix documentation about the tracing data layout
  • Add warning on CMake when bindings requirements are not reached
  • Incomplete implementation
  • Basic tests for rpm and deb packages
  • Reduce likelihood of leaking containers/images
  • Mention potential leaked containers
  • Typing fixes found with mypy
  • Add development header to readme
  • Add simple test for versioned packages
  • Works for ubuntu
  • Run all tests for versioned packages
  • Tests pass for versioned packages
  • Updated the status documentation to match the schema used to validate status.
  • Change to use ArgumentParser, set env to use external client library in Popen, enable logging in all tests
  • Solve comments; Add a method to return DatabaseContext Reference
  • Move .venv to main .gitignore
  • fix spelling error
  • Cancelling the timedout reads with rocksdb storage.
  • Adding ReadRangeAction timeout, returning error and using timer_monotonic changes.
  • Added readrange timeoout check and rocksdb read deadline option.
  • Adding deadline option to rocksdb calls.
  • Timedout reads cancellation check removed in simulation.
  • Using the current max shard size estimate instead of the max possible if unavailable
  • Send ConfigBroadcastSnapshotReply to broadcaster
  • Increasing the read cancellation timeouts to 5 minutes in simulation.
  • Add IKnobCollection::clearTestKnobs to fix unit tests
  • Allow CC health monitor to handle cancellation
  • Use WIN32 mutex instead of std::mutex for singleton
  • change unit::cout format into %u
  • added client_threads_per_version network option to mako to support multiple client threads
  • Expand scope of GetGenerationQuorum object in PaxosConfigTransactionImpl
  • Refactor the cache_range command
  • Remove std::map::at usage from DataDistribution.actor.cpp
  • Fix crash when DR binaries are invoked without a source cluster file. Update the usage text for dr_agent cluster files to include the long form options.
  • Rewrite cache_range related functions to template code; Remove duplicate code; fix the existing bug in cache_range;
  • Add comments; Add newline in the end of the file
  • Add CommitQuorum to PaxosConfigTransaction.actor.cpp
  • Fix error handling of reads.
  • Improve error to status conversion
  • Remove fdbclient dependency
  • Add atomicity to knobs
  • Use nonatomic knobs by default in unit tests
  • Add atomic knob unit test
  • Add atomic clear unit test
  • Remove TODO
  • Separate test knobs into atomic and nonatomic
  • Use existing error when triggering local config restart
  • Remove old local configuration initialization
  • Remove unnecessary function
  • Clean up types
  • Move common knob initialization macros to header
  • Disable RocksDB storage engine in simulation
  • Refactored blob worker/manager to be in separate files
  • Add worker kill unit test
  • Clean up clientFailures periodically
  • Fix kill worker bug
  • Move client failure cleanup
  • Fix capitalization
  • Handle not_committed error in PaxosConfigTransaction::onError
  • Handle not_committed error in SimpleConfigTransaction::onError
  • Add "Last Known Value" metric to ConfigIncrement workload
  • Remove linear time loop
  • Made subsequent snapshots read from blob files instead of FDB
  • add_trace_event_for_role_recruitment_by_CC
  • Add ACKNOWLEDGEMENTS. Replace memcpy with advsimd implementation.
  • Add dependencies between sampling and non-sampling actors projects
  • Set sampling dependencies for Windows only
  • Fix trace event detail name collision in MutationTracking use cases.
  • Changing API and file format to full V1 specification
  • Solve comments, fix the help message
  • log redwood histogram seperatly
  • Format
  • Try using less privileges in for running systemd
  • Randomize configuration database type for ConfigIncrement test
  • Add MachineAttrition to ConfigIncrement workload
  • Switched blob implementation to use backup container
  • Print out setclass special keys' related error if present
  • Refactor transaction related commands like begin, commit, etc.
  • Using local files for blob granules in simulation
  • Refactor ApplyMetadataMutation for better readability
  • fixup! Fix the code per comments
  • Empty commit to trigger CI again
  • Fix comment, add a new function for reading special keys' error message
  • Bug fix: Popped versions are exclusive, so after recovery a tag for which there is no longer data should be considered popped up until the version after recovery, indicating that data at the recovery version itself has been popped.
  • reomve registry
  • format fix
  • Add test coverage for profile command
  • Remove commented test; fix issues
  • Add a safe wait in the fdbcli setclass test
  • Add test coverage for triggerddteaminfolog command
  • Refactor kill command
  • make_directory is deprecated. Use file(MAKE_DIRECTORY ...)
  • add yield
  • Create a new function to get all worker interfaces
  • Refactor suspend and expensive_data_check commands
  • Add new lines in the two added files
  • Refactored blob granule reads to actually be in NativeAPI
  • Move setclass test from single-process_test to multi-process_test
  • Remove the unnecessary check in the end of setclass
  • Fix the versioned packages so that they don't modify the source dir
  • Create separate copies of commit request in PaxosConfigTransactionImpl
  • remove a neccessary cast from unsigned int to unsigned int
  • Fix typo
  • Remove unused variable.
  • Disallow usage of wait outside of ACTORs
  • timing the log time for 33 histograms and change a void function to ACTOR
  • avoid yield
  • Stop using solarized theme for pygments
  • Added simulation workload for blob granules and fixed some bugs
  • Unit tests require a match from the test pattern in order to be successful. This avoids cases where a typo in the pattern might lead one to believe that their tests were all successful.
  • Fix format specifier to 64 bit size
  • fix type
  • update the count and precetage to countLinear and percentageLinear
  • format
  • Solve comments, add assertions
  • Support building with go 1.16 and higher Support building with go 1.16 and higher... apple/foundationdb#5479
  • Use ActorCollection instead of std::vector<Future> in *Quorum classes, to listen for errors
  • Make SimpleConfigTransaction more consistent with PaxosConfigTransaction
  • Remove unnecessary debugging trace events
  • Add CommitUnknownResult metric for ConfigIncrement workload
  • When using an external client, use the larger of the primary and external busyness.
  • Create the logs directory for FDB processes in the correct place
  • Refactor profile command, remove profile heap|flow commands
  • Refactor option command to include the ITransaction handler
  • Refactor triggerddteaminfolog command
  • Refactor tssq command
  • Cherry-pick the initialization fix in pr#5291
  • Move triggerddteaminfolog and tssq to new files; fix the reversed flag in tssq
  • use make_unique instead of new - exception safe
  • add clear to writeToLog
  • For now, ConfigIncrement workload passes even if clients get stuck
  • update the logReport function
  • Remove using the RYWTransaction object in fdbcli
  • Added sequence numbers and locks to blob worker and manager
  • make it auto also
  • Refactor status command
  • Fix and reenable PaxosConfigTransaction::onError
  • Strengthen ConfigIncrement.toml test
  • Fix file format
  • Compute a burstiness score based on the max busyness interval in a measurement period.
  • Refactor our PRIVATE_EXCEPT_FOR_TLSCONFIG_CPP macro to be compatible with clang-format. Remove one use of it that is no longer needed now that actors can access private members.
  • apply clang-format to *.c, *.cpp, *.h, *.hpp files
  • modify comments to make clang-format and coverage tool play nice
  • Refactor TxnStateRequest handler in commitProxyServerCore
  • fixup! Make processTransactionStateRequestPart not blocking
  • Document "averaged" parameter of PerfMetric constructor
  • Update README.md
  • Update README.md
  • multiple blob workers appears to work
  • Increase minimum downgrade version
  • added range mover
  • Remove checkRegions in shouldTriggerRecoveryDueToDegradedServers
  • Fix PerfMetric.cpp copyright header
  • Remove unnecessary temporary object from ApiCorrectnessWorkload::getMetrics
  • Exclude redwood from part 1 of restarting tests that are from versions < 6.3
  • Exclude redwood in from_5.0.0 tests
  • Update fdbclient/NativeAPI.actor.cpp
  • Cleaned up debugging and fixed a couple bugs
  • avoid unnecessary function calls
  • Add a specific unit test file for use by tooling.
  • Add the new test to cmake
  • Log SubCode and Severity for RocksDB erros (Log SubCode and Severity for RocksDB erros.  apple/foundationdb#5515)
  • Fix the self-assign warning in Atomic.h
  • review comments
  • support reads from range feeds that span multiple storage servers
  • Check if the src server list will be empty before removing a failed server."
  • Remove Transaction::set() when clearing the keyrange.
  • need to debug segfault
  • Delete CycleTestRestart-2.txt
  • Delete CycleTestRestart-1.txt
  • Improve assignment of range granules.
  • Address PR comments.
  • RecruitFromConfigurationRetry should wait for goodRecruitmentTime to be ready
  • readPage and readMultiPage
  • Adding code to hold the threadfuture of ITransaction::get; other fixes for using external clients
  • Add syntax until_..* in restarting test to specify upper bound of binary version
  • check the single page vs multi page in upper readPage function call
  • Handle the edge case correctly when the upper bound version is less than the binary verion
  • Update comment to be more clear
  • Simplify the condition and update the comment
  • Fixed a few bugs and added a backup popping mechanism
  • Replaced clear() with krmSetRangeCoalescing().
  • Added comments.
  • Add missing wait around deleteFile invocations.
  • Add metrics for blob worker.
  • check the thoroughput without the keeping the size
  • PR changes
  • Add BlobWorkerCommon to CMakeLists.
  • filter mutations in change feeds to the requested range
  • The lock special key has the lock UID as the value
  • Fix reading the disableTss option
  • added a workload to test change feeds
  • Return if no available binary in the given range
  • Add comments for the change
  • Delete CycleTestRestart-1.txt
  • Delete CycleTestRestart-2.txt
  • Misc fixes.
  • fixed problems with the change feed workload
  • fixes that allow change feeds to pass correctness in tests with no failures
  • Fixed a number of bugs, change feeds are correctness clean with the current workload
  • fixed a few bugs related to change feed fetches
  • fix: handle the case where I change feed is added while a fetch is in progress
  • revert back changes in tracking cache size
  • Add verification mode to chaos workload.
  • Fix ProfileCommand.actor.cpp, using the correct way to read from global config
  • format
  • remove the extra space in these two files
  • fix: missing mutations committed at newOldestVersion
  • put upper bound on setuptools version
  • fixed a few bugs with merging change feeds on the client
  • Fix the issue in CheckStatus where it stuck as we cannot talk to any of the coordinators
  • Remove commented code; simplify code
  • Code format
  • Added blob granule reassignment and splitting
  • Misc fixes and updated test toml file.
  • Pipelined delta file writing to improve performance
  • Clang format.
  • Doing GRVs for committed version checking in blob worker
  • check if childPage is empty before preLoadPage
  • Solve PR comments
  • Update fdbclient/MultiVersionTransaction.actor.cpp
  • Tweak the chaos toml file.
  • also pipelining snapshot from blob in blob worker for maximum throughput
  • Trying clang-format again.
  • Introduced serverKeysTrueEmptyRange to indicate the SS that the new shard is empty.
  • bug fix on unwaited actor
  • Redwood commit versions are now FDB commit versions for storage instances. Redwood no longer makes internal commits during Pager or BTree recovery so that commit version is always set by the user.
  • Fixing up after change feed updates
  • fixing a couple bugs
  • Added comments.
  • Enable rocksdb storage in simulation with some simulation fixes.
  • format IPager.h
  • revert test traceEvents
  • Disable clang-format on flow/aarch64/asmdefs.h
  • Remove debug trace events and clang-format.
  • Create TagPartitionedLogSystem.actor.h
  • Extract methods in LogSystem.h to corresponding cpp file
  • Extract methods in LogSystemConfig.h to corresponding cpp file
  • fixup! Update code per comment
  • fixup! Reformat the code per github's requirement
  • s/subcription/subscription
  • Fixed commit_proxy_failed error message
  • Fixed grv_proxy_failed error message
  • check if reads are cached before locking
  • Add fix for KillWorker unit test
  • Implement IClosable in OnDemandStore
  • Add override
  • Refactor lock/unlock command, fix the related correctness test, add the documentation for updating usage of the special key
  • Print the updated help message
  • Simplify the code using the function getSpecialKeysFailureErrorMessage
  • Fix all tr->get, hold the ThreadFuture for the memory
  • Solve comments, refatctor the error handling part
  • Clang-format fdbserver/workloads/SpecialKeySpaceCorrectness.actor.cpp
  • added comments
  • format
  • wait for future void
  • Disable rocksdb in simulation to unblock CI.
  • Added StorageMigrationType and cli commands
  • Expanding documentation on storage_migration_type
  • Update documentation/sphinx/source/command-line-interface.rst
  • Remove incorrect comment
  • Switch from GO111MODULE=off to GO111MODULE=auto (to match what is on release-7.0 and what we ultimately decided on)
  • Update auto_coordinators special key error message
  • Refactor coordinators and include command
  • update comments
  • Refactor exclude command
  • solve comments
  • TSS Metrics fix
  • add TEST macro and always wait on the Future
  • fix the condition checked in TEST macro
  • change back the storage engine type to random
  • choose team before removing server
  • exclude to-be-removed server from target team
  • fixing tss enablement with fault injections
  • exclude to-be-dropped server from the random team
  • fmt
  • Passes a single correctness test!
  • Allow / and - for fdbserver command line parameter values
  • Fix test paths for on Windows
  • Ignore fdbserver tests on Windows
  • Add output for ignored Windows tests
  • Format code
  • Enable documentation for Windows
  • Increasing workload request count
  • clean up debuging statement
  • fix directory permissions in postinst script
  • change package name to make yum happy
  • fix permissions again
  • Make naming consistent with Fedora guidelines
  • updated release notes
  • Fix naming and change filename
  • Fix filename
  • Minor leader election code improvements.
  • Enforce std:: specifier rather than using namespace
  • fixup! Reformat source code
  • adding granule tests to test suite
  • Enforcing 6.22.1 rocksdb version and enabling readRange deadline option.
  • Decoupling the rocksdb version check to multiple static asserts.
  • Fixing issues in known committed version tracking
  • let writePhysicalPag takes in standalone vectorRef, and see the effect on throughput
  • Fix error handling when locking database
  • conver to standalone in earlier stage to improve the throughput
  • Transactions would not honor the transaction timeout option if the MVC did not have an active database.
  • Proper handling of reset and transaction destruction. Add some comments.
  • Update release notes.
  • address comments
  • more bug fixes
  • switch to plain random selection
  • Enable multiple environment type input
  • Update for the env variable type check function
  • Enable support for integers in environment variable network options
  • Enable support for integers in environment variable network options
  • Enable support for integers in environment variable network options
  • Enable support for integers in environment variable network options
  • Enable support for integers in environment variable network options
  • throw an error is no team can be found for a dropped range
  • resolved some fmt issues
  • fmt
  • update the write path
  • Refactor logic for recruiting singletons.
  • Rename function to be more clear.
  • Address PR comments.
  • Fix recruitment bug.
  • Address PR comments.
  • Simplify count increments.
  • fixing db config parenthesis
  • commented concurrent lock
  • update the writePhysicalPage function
  • added a new workload to test streaming reads
  • rename test file
  • fix: do not send a reply to a remote endpoint if the the connection has failed
  • added a sequence number to streaming replies as a safety backstop against out of order delivery
  • buggify the streaming byte limit
  • restore the original tssMode in restarting tests
  • added a comment
  • fix compiler error
  • Add missing namespace qualifier to vector.
  • fix compilation error
  • Update sidecar to match latest changes in operator
  • Fix kubernetes sidecar
  • Fix typo for None
  • Fix image links in read-write-path documentation
  • Fix a documentation link in ha-write-path
  • Fix more links
  • Refactoring well-known endpoint registration - List all well-known endpoints of FDB in a single enum - Identify well-known endpoints by plain IDs
  • Refactor configure command; refactor changeConfig to template code to reuse existing tests
  • Fix rreversed return boolean value in configureCommandActor
  • Refactor fileconfigure command
  • Format code
  • Change the return type of triggerddteaminfologCommandActor to bool to make it consistent with others
  • Add makeInterruptable to commands' actors
  • more CF bug fixes
  • Fix OPEN_FOR_IDE
  • solve cmake configure error when -DOPEN_FOR_IDE=ON
  • Add rollback capability to ConfigNode
  • Add rollforward capability to ConfigNode
  • Update fdbserver/ConfigNode.actor.cpp
  • Overwrite existing mutations with rollforward mutations, use existing annotations
  • Remove WAL mutations during rollback
  • Cleanup, refactor, add unit test
  • Update fdbserver/ConfigNode.actor.cpp
  • Update fdbserver/ConfigNode.actor.cpp
  • change configure test add store type check add test file
  • solve comment
  • put pointers at the front of funciton parameters
  • Complete release notes for 6.3.20
  • Got basic range reassignment working
  • Refactor logic for recruiting singletons.
  • Rename function to be more clear.
  • Address PR comments.
  • Fix recruitment bug.
  • Address PR comments.
  • Simplify count increments.
  • Add missing namespace qualifier to vector.
  • merge fix
  • Add blob manager as a singleton.
  • Improve actor management and handling of failure in BM.
  • Kill BM by returning, instead of throwing.
  • The computation of tag throttling backoff was taking a minimum with a knob for how long a throttle lasts. When this knob was buggified to 0 in simulation, the backoff would then be 0, and this could cause some transactions to get stuck in a retry loop that failed to advance time. Eventually the test would timeout or potentially run out of memory.
  • Address PR comments.
  • Add exclusive process class for Blob Worker.
  • lock for uncached cocurrent range reads
  • Fix failover logic in checkRecoveryStalled: failover only when remote is enabled
  • More bug fixes
  • The BACKUP_LOCK_BYTES knob could be buggified to a value that was too low, resulting in backup getting stuck.
  • Address PR comments.
  • Stop roll trace events for instances that are no longer running
  • Stop roll trace events for instances that are no longer running
  • Fix roll trace event issue
  • Fix roll trace event issue
  • Fix roll trace event issue
  • Fix roll trace event issue
  • Fix roll trace event issue
  • Fix roll trace event issue
  • Fix roll trace event issue
  • Fix roll trace event issue
  • Fix roll trace event issue
  • Stop rolling trace events that are associated with a process role when the role terminates
  • fix the warn about initialization order chaos in storageserver.actor.cpp
  • update the readRange_impl locking logic
  • fix roll trace event issue for data distribution
  • fix roll trace event issue for data distribution(master)
  • fix roll trace event issue for data distribution(master)
  • fix roll trace event issue for data distribution(master)
  • Fix format problem for file fdbserver/DataDistribution.actor.cpp.
  • added blob worker rollbacks that handle (most) cases
  • rollback fixes
  • even more bug fixes
  • reducing volume for large workload since there are multiple testers
  • modified file descriptor to non-blocking access before performing read, also throw any error that occurs while reading
  • minor fix
  • make sure that bytes only get added to bytesRead when bytes > 0
  • forgot to save before commit
  • disable ENABLE_DETAILED_TLOG_POP_TRACE by default
  • Add BWs to every DC in simulated cluster.
  • When we have a large trace log buffer in simulation, that suggests we may be stuck in a loop that prevents us from running the trace flush. Detect when this has happened and fail the test early, which allows us to do the flush and have logging for the offending loop.
  • Slight modification to comment to remove the indication that we flush the trace log explicitly.
  • support disabling RYW in mako
  • formatting
  • added help for --disable_ryw
  • fix: use DEFAULT_COMMIT_GRV_PROXIES_RATIO to pick the number of grv_proxies and commit_proxies after an upgrade
  • Include the errno details if execv fails in fdbmonitor
  • fix the problem about initialization list disorder in storageserver.actor.cpp file
  • Fix a thread-safety issue with timeoutTsav
  • Add some tests for timeout behavior with disconnected clusters
  • Fixes to new disconnected tests; add a version that doesn't use MVC
  • Adding missing release notes from 6.3.19 to 6.3.21
  • Update documentation/sphinx/source/release-notes/release-notes-630.rst
  • Added Redwood pager and BTree overview statistics to trace events logged on creation and recovery. Changed getStorageBytes() to treat internal space used by free list queues as reusable.
  • Add missing test dependency in cmake
  • Locality filter support to perpetual storage wiggler feature.
  • Simulation changes to randomly wiggle with locality filter and review comments.
  • Fixed format errors.
  • Simulation changes to test perpetual_storage_wiggle_locality configuration.
  • addressing review comments.
  • Added explicit named TraceEvent .log() calls.
  • Updating release notes for 6.3.21
  • Fix some common sampling crashes at high sampling frequencies
  • added option to output stats to json
  • implemented outputting results to json file
  • formatting
  • json formatting
  • --json takes a file path
  • followed google json formatting
  • formatting
  • renamed json properties
  • fixed typo
  • Add knob to control trace recording percentage
  • cleanup -- addressed comments
  • Many debug changes to Redwood unit test, adding and reformatting output. Errors are no longer counted and accumulated and instead ASSERT(false) is used for any failure so that --crash will end the test immediately.
  • Bug fix, range end seek in verification map was assuming that version 0 was lower than the minimum mutation version but that is no longer true due to recent changes in commit version behavior.
  • Recruit the blob workers via blob manager.
  • Cleanup comments and debugging code.
  • Serialize all streams.
  • Address PR comments.
  • Minor changes.
  • Initial Redwood post-create recovery version changed to -1, which means no commit has ever completed. Commits at the same version as the previous commit must have no changes and are no-ops. KeyValueStoreRedwood no longer advances the commit version automatically.
  • Added random same-version zero-change commits to unit test.
  • Add option --api-version for fdbcli
  • adding priorities to blob worker and fixing monitoring in blob manager
  • review comments and moving priority yield to correct spot
  • Operation to upload client library binary in to system keyspace
  • MVC2.0: Use ClientKnobs to configure chunk and transaction size for client lib upload
  • MVC2.0: Test client lib upload error paths
  • MVC2.0: Operation to download a client library from the system keyspace to a file
  • MVC2.0: Operation to delete a client library; enum for client lib status
  • MVC2.0: Operation to list uploaded libraries with various filters; Introducing constants for attribute names and platform values
  • MVC2.0: Use page-aligned buffers and offsets, enable async IO for reading & writing client lib files
  • MVC2.0: Check byte sum on client lib uploads and downloads, rollback upload in case of an error
  • found change feed liveness bug
  • Remove IKeyValueStore commit version API because usage of IKVS doesn't align well with the concept.
  • Restored Redwood KVS internal auto-incremented version.
  • fixing another change feed hang error
  • MVC2.0: Refactoring client lib management - Move all declarations into ClientLibManagement namespace - Rename source files for more consistent naming - Use constant declarations instead of defines for client lib attribute names
  • MVC2.0: Refactoring - hide global variables for client lib status and platform names
  • MVC2.0: Use anonymous namespaces instead of static declarations in ClientLibManagement
  • MVC2.0: Use member initializers in ClientLibManagement structs
  • MVC2.0: Refactoring - declare state variables at the beginning of actors
  • Fixing change feed error retry in pop
  • MVC2.0: Testing client lib operations with random file sizes - Adding test parameters to control file size range - Disabling AIO as it does not support non-page-aligned reads and writes - Fixing bugs for the cases of an empty file and an incomplete last chunk - Use hexadecimal representation for checksum in JSON and document keys
  • MVC2.0: Add a clientlib metadata attribute for checksum algorithm
  • Implement the core logic of grey failure triggered failover
  • Add more comments to the code
  • Take uptime into account when making failover decision
  • Add histograms to client GRV batcher. (Add metrics to client GRV batcher. apple/foundationdb#5727)
  • fix assignment error in addressInDbAndRemoteDc unittest
  • Some improvements for grey failure failover
  • fix remote health variables declaration order
  • Added comment about not locking point reads.
  • Added test coverage with comments for range read seek locking behavior.
  • Bug fix, atomic update case condition for BTree node builds resulting in 1 output node of the same 1-page size as the original was incorrect so atomic updates were never being done.
  • TEST macro logic fix, and moved wait on seek future to the conditional block where it isn't ready.
  • addressed comments and format
  • Redwood crash after shutdown which occurs if a queue page disk read was in progress during pager shutdown but the callback was fired after shutdown completed.
  • verify FLAG_USE_PROVISIONAL_PROXIES on the server
  • assert we never get a stale read version
  • Apply suggestions from code review
  • Address review comments
  • fix priority
  • fixed a variety of bugs with change feeds
  • fixed merge conflicts
  • fix: must serialize the sequence
  • Bug fix: printSnapshotTeamsInfo() could crash when looking up status for a storage server that was very recently added because its entry in server_status was not yet created. Bug fix: printSnapshotTeamsInfo()'s local server_status map would not see status updates for server UIDs that already existed in the map.
  • fix: resize changes to source vector even though m is a copy
  • MVC2.0: Extracting reusable error testing pattern and using it for client lib operations tests
  • Bug fix which only affects simulation: dataCopy was created after a potential wait so the source memory may have already been released.
  • Added new endpoints in Cluster Controller interface.
  • added debug msg
  • added args validation
  • Bug fix: CommitQuorum::addRequestActor() accesses self after destruction due to ignoring actor_cancelled error. (Bug fix: CommitQuorum::addRequestActor() accesses self after destruction apple/foundationdb#5744)
  • added the known committed version to change feeds
  • Add FastAlloc memory utilization trace. (Add FastAlloc memory utilization trace. apple/foundationdb#5739)
  • Fixing tss private mutations ranges
  • Added logs for worker_removed() errors in SS.
  • added handling for broken promise
  • renamed option to --json_report
  • Add locality cache size to TransactionMetrics. (Add locality cache size to TransactionMetrics. apple/foundationdb#5758)
  • --json_report defaults to mako.json if no output file path is given
  • added mako args to json report file
  • fixed bug with optional argument
  • Added comments.
  • fixed bug with optional argument
  • fmt
  • added more input validation logic
  • addressed comment and removed one extra {
  • minor edits
  • Add a knob to gate blob-related work.
  • Change default val for knob.
  • Gate the blob verifier as well.
  • Gate the client API.
  • Merge knobs into one.
  • Handle blob work failure
  • trying to fix infinite loop
  • Fix infinite loop.
  • Clean up blob manager changes.
  • Clean up blob worker changes.
  • Address PR comments.
  • Add new test to cmakelists
  • fixing merge conflicts
  • Reworked all of the system data to encode granule data more efficiently for persistence
  • fixed version boundaries
  • fixing file identifier
  • Reproduced user data loss incident, and tested the improved exclude tool can fix the system metadata.
  • Gate BM/BW in Status and timeout after waiting.
  • Collapse if's into one.
  • Ensure non-zero BW processes when gate is enabled.
  • Re-ignore tests.
  • Remove old comments from BM.
  • add ycsb Dockerfile
  • Clear range before setting the moved-in empty range as available.
  • Add an enum to IKeyValueStore to indicate the source/priority of the read
  • Use ErrorOr to indicate an error.
  • Add ClientCount to ClusterControllerMetrics (Add ClientCount to ClusterControllerMetrics apple/foundationdb#5748)
  • Remove old comments from BW.
  • Refactor retry loop to splitRange.
  • Default all debug flags to false.
  • Mitigate transitive includes.
  • Reverse order of read type and debug ID args
  • Gate more entry points to BM recruitment.
  • Added warning in the exlucde cli command help about potential dataloss, as well as in command-line-interface.rst.
  • Make IClosable interface const-correct
  • Add const qualifiers in KeyValueStoreRocksDB.actor.cpp
  • cleanup docker build scripts
  • add ycsb docker build script
  • Fix reference cycle between BWData and GranuleRangeMetadata.
  • Remove comment from SystemData
  • Fix invalid memory access when dataDistribution actor is cancelled (Fix invalid memory access when dataDistribution actor is cancelled apple/foundationdb#5791)
  • update packaging to align across branches
  • Cleanup TODOs for backup, blob code refactor.
  • Cleanup comments for server knobs.
  • Cleanup comments for BlobWorkerInterface.
  • make build-ycsb-docker.sh executalbe
  • Rethrow on actor cancelled.
  • cleanup before merge
  • more cleanup before merge
  • init client_threads_per_version to 0
  • Add some additional logging if the network thread finishes, fails with an error, gets stopped, or is blocked.
  • Add comment to run loop blocked message about timestamp order
  • fixed a number of issues
  • TargetedKill fixes.
  • Fix a recovery hang that could occur when a new recovery was started during the existing recovery
  • fix: memory replies were not being set
  • MVC2.0: Addressing code review comments for client lib management operations
  • Fixes to ss e-brake, tlog streaming, and their interaction
  • formatting
  • fixed typo
  • Reduce restore error message
  • fix: do not throw wrong_shard_server for local fetch keys
  • fix: do not throw errors from sendError
  • fixed incorrect use of change feed errors
  • fixed a few bugs with fetching change feeds
  • MVC2.0: Addressing code review comments for client lib management operations - Delete clientlib metadata and all chunks in one transaction - Read all chunks of a download transaction in concurrently - Configure number of chunks per transaction instead of transaction size - Make all transactions lock-aware
  • Verify that cluster is fully recovered in quietDatabase check (Verify that cluster is fully recovered in quietDatabase check apple/foundationdb#5807)
  • Use --enable-prof switch when building jemalloc。
  • Update release-notes-630.rst
  • Update documentation/sphinx/source/release-notes/release-notes-630.rst
  • Update release-notes-630.rst
  • Update release-notes-630.rst
  • fix: prevent infinite loop
  • fix: handle the case where a fetch happens at an earlier read version than the commit version of the change feed registration
  • MVC2.0: Fix whitespace alignment
  • fixing fdbcli packages
  • Abstract the cluster file into a cluster connection record that can be backed by something other than the filesystem.
  • Address some review comments.
  • Update the toString method to return URIs. Persisting a cluster connection key makes sure that its not overwriting other changes.
  • Add a comment about the limitations of the URI-based encoding.
  • fix: combine mutations from the same version into a single MutationsAndVesionRef
  • fix: do not duplicate lastEpochEnd from different servers
  • fix: disconnectTriggers cannot be yielded because we could send a reply to a replyPromiseStream while waiting on the delay
  • fixed merge conflicts
  • fixed formatting
  • Fix ss initialization order
  • Improve documentation.
  • Fix indentation issue with actor compiler (Fix indentation issue with actor compiler apple/foundationdb#5828)
  • Add rollback and rollforward logic to ConfigBroadcaster
  • Fix issue where previous commit messages were reused
  • Add rollback and rollforward logic to ConfigBroadcaster
  • Fix issue where previous commit messages were reused
  • Update fdbserver/PaxosConfigConsumer.actor.cpp
  • Retry with well known endpoints, move last committed check to consumer
  • Merge rollback message into rollforward message
  • Retry messages to well known endpoints, add notes for future work
  • clang-format
  • Verify rollback of a single version in simulation, other small fixes
  • Add assertions to check rollback
  • Improve const-correctness of ITraceLogFormatter
  • Improve const-correctness of INetwork
  • Move ClusterConnectionString to IClusterConnectionRecord.
  • Doing fixmes for protocol version
  • Fix formatting
  • Disabling frequently failing tests until they can be fixed
  • MVC2.0: Fix in getPlatformByName
  • Bump format versions for Pager and BTree as the multi-page BTree nodes are now stored in an incompatible way.
  • Fixing bug where SS would get removed when someone else got its tag, but its TSS pair wouldn't
  • minus wiggling teams when build team
  • wiggling teams calculation replace
  • change knob and delete redundant doBuildTeam
  • format
  • consider wiggling when waitUntilHealthy
  • wait extra time
  • format
  • add asyncvar
  • restartRecruiting
  • add knob
  • change boolean
  • disable team remover
  • format
  • don't disable machine team remover
  • Fix race in configure database storage migration test
  • MVC2.0: Adding a comment explaining buffer alignment in download & upload operations; checking additional details in testExpectedError
  • Disable HA in DataLossRecovery test, and reenabled the test.
  • Move getConnectionString() to IClusterConnectionRecord.
  • MVC2.0: Introducing client library status values for instructing clients to download and activate a library; Operations to read and change client library status
  • MVC2.0: Notify clients about relevant changes of client libraries
  • Separate out memory benchmarks in flowbench
  • fixed merging from PR 5710
  • updated mako documentation
  • Add some includes to BenchMem.cpp
  • devFormat
  • fix: simple recruitment could succeed with less than the required replication factor
  • strengthen assert
  • Add a new process launcher for FDB on Kube.
  • Add a dockerfile for fdb-kubernetes-monitor.
  • Add a mechanism to post updates from fdb-kubernetes-monitor to pod annotations.
  • Adds structured logging in fdb-kubernetes-monitor.
  • Add the init and sidecar modes for fdb-kubernetes-monitor.
  • Add an option to load an additional file of environment variables in fdb-kubernetes-monitor.
  • Use an write-and-rename pattern when copying files for atomicity.
  • Move the new Kubernetes image to centos 7.
  • Update based on PR feedback.
  • fix typo in script
  • packaging: apt doesn't support >= and fix tini installation
  • consolidate docker stuff, add perf and flamegraph parts to release image
  • fixed mako bug and added comment
  • Enable clang -Wformat warning
  • fix: simulation only validation could throw errors which would impact the behavior of the cluster controller
  • skip good recruitment errors when doing simulation only validation
  • Enable unused-local-typedef clang warning
  • Enable unused-function warning for clang
  • Remove unused shouldNotHaveFriends* functions
  • Enable missing-field-initializers clang warning
  • Enable mismatched-tags clang warning
  • Enable tautological-pointer-compare clang warning
  • Enable unknown-pragmas warning for clang
  • Enable clang comment warnings
  • Remove -Wclass-memaccess for clang
  • Add documation about network options.
  • Add link to client knobs.
  • resolve comments
  • Added flow/serialize/Downgrade unit tests
  • Remove Downgrade workload
  • Remove unused constants from serialize.cpp
  • Remove reference to deleted Downgrade.toml file
  • Add comment to flow/serialize/Downgrade/WriteNew unit test
  • Run clang-format on flow/serialize.cpp
  • Update documentation/sphinx/source/api-common.rst.inc
  • fix CI error
  • C API for blob granules
  • mako successfully calls read_blob_granules and gets stuff back
  • Add transaction state store documentation
  • Address Markus's comments
  • Add a wait(delay(0)) to storage server termination to avoid a rare segfault
  • Fix bugs with missing logger.
  • Change Redwood to use xxhash for checksums.
  • Remove unused variable and more clearly explain out of range annotation in Redwood debug output.
  • Change FlowTransport to use 64 bit XXHash instead of CRC32.
  • Assert success on XXHash stream functions.
  • Added local granule file reading to mako
  • MVC2.0: Refactoring - remove dependency of MVC on Native API
  • Change asserts to throw internal_error as these function calls should never be compiled out.
  • Refactored granule materialization code to be called by c client as well as internal granule management
  • Cleanup
  • Change dbinfo broadcast to be explicitly requested by the worker registration message
  • Introduce getRangeAndHop to push computations down to FDB
  • Rename Hop to FlatMap
  • retain old behaviour along with explicit request
  • Revert "Introduce GetRangeAndFlatMap to push computations down to FDB"
  • Add Hostname struct, and fromHostname in NetworkAddress struct.
  • Address comments.
  • Update transaction-tagging.rst documentation
  • Fix comment for RequestStream::tryGetReply
  • Improve tracing in ddSnapCreateCore
  • cancel ss core and ss actor collection after termination and before context switch
  • Add libsanitizer to fdb image. (Add libsanitizer to fdb image. apple/foundationdb#5918)
  • MVC2.0: Fix refactoring to remove dependency of MVC on Native API
  • MVC2.0: Notifying clients about deleting or disabling client libraries that have upload or active status; Declare library status access and change transactions as lock aware
  • MVC2.0: Remove client library status "available"
  • Check ccInterface against serverDbInfo's cc and make broadcast unconditional for first registration
  • Fix a heap use after free
  • Added KeyBackedObjectMap and KeyBackedObjectProperty classes for storing serializable objects in FDB (Added KeyBackedObjectMap and KeyBackedObjectProperty classes for storing serializable objects in FDB apple/foundationdb#5896)
  • Make sure unit tests are run often enough
  • fixed stupid mistake
  • readded old tlog tests
  • added file to run perf unit tests
  • Improve tester actor logging to track workload run & check status
  • remove mako temp shared memory file
  • set flag to true when doing first registration
  • Fix a memory bug.
  • Add protection against storage and tlog data deletion when joining a new cluster
  • Allow tlog to join another cluster but retain its data
  • Exclude when joining new cluster
  • Cleanup
  • Fix compilation issue
  • Fix rare simulation failures
  • Sync cluster ID through ServerDBInfo
  • Add explicit transaction options when reading cluster ID
  • Fix typo in fdb.options (Fix typo in fdb.options apple/foundationdb#5938)
  • Introduce GetRangeAndFlatMap to push computations down to FDB
  • Fix memory bug in IndexPrefetchDemo
  • Move table factory options to CFOptions
  • MVC2.0: Rollback static initialization of the local client API instance
  • bump protocol version on master to 7.1
  • Redwood inline same-size value updates (Redwood inline same-size value updates apple/foundationdb#5925)
  • Utilize read types to do selective throttling
  • Update defaults
  • Allow SS to respond with server overloaded
  • Code review changes
  • Don't fail fetchKeys when server overloaded is returned
  • Fix bug where spans were not being properly constructed
  • Fix issue where transaction spans would not be recorded
  • Remove unit tests dependent on knob
  • Remove additional unused tracing
  • Convert distributed trace sampling rate to a database option
  • Remove distributed trace database option
  • Removed outdated definition
  • Remove unused unit tests
  • Change SSI endpoints order to be consistent with 7.0
  • Fix recovery issue
  • FDB compiles on Apple Sillicon
  • Switched BG APIs to transaction instead of database
  • Correct code formatting
  • cleanup
  • Fix Linux compiler errors
  • Fix (test only) heap use after free
  • Remove unnecessary calls to Standalone::contents
  • Added Endpoints.
  • Add DNS mock in SimExternalConnection.
  • Adjusted endpoints order to be compatible.
  • Adjust distributorSplitRange order.
  • Clean up RocksDB error logging
  • GetKeyValuesAndFlatMap should return error if not retriable
  • Trigger buildTeam operation if server transition from unhealthy -> healthy (Trigger buildTeam operation if server transition from unhealthy -> healthy apple/foundationdb#5930)
  • Don't use assertion for bad option usage; don't disable local client until setup network is called.
  • Optimization in FlowTransport's use of XXHash to avoid a malloc() when using the stream API and to not use the stream API when a message being sent is contiguous within a single packet buffer block. (Optimized FlowTransport's use of XXHash apple/foundationdb#5970)
  • Move the config file scheme into a separate package so it can be imported by the operator.
  • Redwood chunked file growth and low priority IO starvation prevention (Redwood chunked file growth and low priority IO starvation prevention apple/foundationdb#5936)
  • Restricted getRangeAndFlatMap to snapshot
  • Make snapshot errors more descriptive
  • Fix proxySnapCreate trace typo
  • changefeeds now have a whenAtLeast function for efficiently learning when the version has updated but no mutations have been committed
  • fix: cleanup change feeds which have been completely removed from a storage server
  • Move DNS mock from SimExternalConnection to Sim2.
  • Initialize global flow knobs in setupNetwork
  • Renamed redwood to redwood-1-experimental and file extension to .redwood-v1.
  • Fix typo.
  • Rename wrong_format_version to unsupported_format_version.
  • Make file name parameter more user friendly in unit tests.
  • Add missing declaration of test file.
  • Add CLIOptions::setupKnobs method
  • Add assertion to IKnobCollection::setGlobalKnobCollection
  • Added fmt to flow
  • fix: coordinators would process forwarding requests before making them durable
  • added a comment
  • Allow knobs to be set via network options before network is setup
  • Move generated versions.target file to build directory
  • Use path relative to Python binary
  • Enhance trace event.
  • Fix parameters passes to simulatedMachine().
  • Fixed bad merge resolution.
  • Tests for "Restricted getRangeAndFlatMap to snapshot Restricted getRangeAndFlatMap to snapshot apple/foundationdb#5978" (Tests for "Restricted getRangeAndFlatMap to snapshot #5978" apple/foundationdb#5980)
  • Make DiskFailureCycle test do less work so valgrind tests finish faster.
  • Added a TODO
  • Remove unsupported .clang-format setting.
  • Use fmt to address -Wformat warnings
  • Not warn on constant-logical-operand when compile with clang (Not warn on constant-logical-operand when compile with clang apple/foundationdb#5990)
  • refactor docker directory - make release images ALL based from centos:7 - keep eks images that are based from amazonlinux:2, but create strong alignment with release (centos7) images - use multi-stage Dockerfile(s) - have a single build-images script - remove per image directories (which would only contain scripts that are copied into images) - remove empty requirements.txt file for sidecar.py (the pip command, package and version are in the Dockerfile) - don't copy docker into PROJECT_BINARY_DIR - incorporate latest changes already in master
  • Expand use of fmt to get rid of %ld usage
  • Fix possible data race
  • Don't adduser in client postinstall
  • Replace <boost/bind.hpp> with <boost/bind/bind.hpp>.
  • docs: Clarify that "ERROR" is a byte string
  • Test-only bug fixes in Redwood along with debug logging detail improvements. Added clearRemapQueue() to Pager to more cleanly and reliably expire all old data and process the remap queue, fixing a bug where with certain configuration parameters and a lot of data the DestructiveSanityCheck would fail because it would not run cleanup long enough. Added more parameters to performance/set unit test.
  • Have individual YCSB containers record completion of their phase of the load. This allows loads to succeed even if the fdb-kubernetes-tests client crashes out mid run
  • Bug fix, the remap cleanup window was being initialized incorrectly in the Redwood KVS wrapper.
  • Add missing bind header for Windows (boost/bind/bind.hpp)
  • Don't require fdb_transaction_get_range_and_flat_map in older clients
  • do not buggify peek cursor expire time too low because it could cause the log routers to fail to make progress
  • properly handle an active change feed stream when removed
  • fixed a crash while popping change feeds
  • whenAtLeast could return an incorrect result when the connection closed
  • improved the change feed workload to test whenAtLeast
  • do not return mutations larger than the dequeVersion
  • fix: when a feed transitions from atLatest to not atLatest stall all updates at the blocked version
  • fix: properly initialize notAtLeast
  • protect against the changeFeedStorageData getting destroyed
  • fix: onEmpty must check all merged streams
  • fix: merge needs to update on empty versions to release other mutations blocked by the empty version
  • fixed empty version merge logic
  • fix: an empty mutation vector did not mean that all of the data was returned
  • change feed requests with an explicit end need to get empty versions at the end boundary
  • added --print_sim_time to print simulated time to stdout
  • fix: change feed streams were not being closed properly
  • fix: self->shardsAffectedByTeamFailure->moveShard must be called without any waits after getting the destination team or we could miss failure notifications for the storage servers in the destination team
  • Change member variable fromHostname to type bool.
  • fix: do not buggify PEEK_TRACKER_EXPIRATION_TIME to a value of 20
  • added a comment
  • Override commit/grv proxies_count if mutation supplied new value is -1
  • Remove unnecessary boost/bind.hpp.
  • fix: If a removed tlog never attempted a queue commit, the update storage loop could get stuck waiting for queueCommittingVersion to advance
  • Remove explicit tryEvict(x) as it is unused and it is functionally replaced by prioritizeEviction(x).
  • Delay prioritized eviction of updated pages until after commit completes.
  • When a cached page is hit, if it is in the prioritized eviction order don't move it to the normal order.
  • Add some extra client logging details:
  • Shorten the name of external client threads. Add a thread name for trace logging threads.
  • Fixed pause racing with waitUntilHealthy
  • Add option to use boost or libcoro
  • Don't provide default for requireFunction in loadClientFunction
  • Check whether connRecord is null before logging it.
  • ignore .stignore and cmake-build-release
  • rename prerelease_string, replace PRERELEASE with SNAPSHOT
  • remove (cmake version and git detached head) warnings from build logs
  • use FDB_VERSION in lieu of PROJECT_VERSION or CMAKE_PROJECT_VERSION write FDB_VERSION to a file to avoid regex golf in other build scripts
  • use FDB_VERSION in lieu of PROJECT_VERSION (package scripts)
  • allow command line override of release canddiate version
  • Reenable snapshot tests
  • Only test snapshots from version >= 7.0
  • Move SnapCycleRestart test into from_7.0.0 directory
  • Fix: avoid updating the master registration while the cstate is written but we are not accepting commits.
  • Remove some usages of PRId64 by using fmt library
  • Added FDBResult and made readBlobGranules use it
  • Cleanup of ThreadResult
  • forgot to remove comment
  • Improved comments
  • cleaning up prints
  • fixing unrelated code formatting
  • Remove unnecessary temporary objects when appending to vector of pairs
  • Fix -Wunused-but-set-variable warnings
  • apply formatting with clang 13
  • Avoid creating unnecessary temporary objects
  • Fix C++ style comments.
  • Apply clang-format to Net2.actor.cpp
  • Excluding DiskFailureCycle test for rocksdb storage engine.
  • Fix compilation error in resolveTCPEndpoint_impl
  • Upgrade google benchmark to v1.6.0
  • Don't include an unreliable process in the protected list.
  • Clang format.
  • Return error when getRangeAndFlatMap has more & Improve simulation tests (Return error when getRangeAndFlatMap has more & Improve simulation tests apple/foundationdb#6029)
  • make curl and sha256sum more quiet, pull local binaries from the correct place in build_output_directory
  • Use the correct directory for m1 for embedding libfdb_java
  • Fix crashes for versioned symbols on mac m1
  • Only build libcoro if COROUTINE_IMPL == libcoro
  • Modify parameters of ApiCorrectnessSwitchover test to avoid out of memory errors.
  • Fix: the shard tracker state could become inaccurate if there is an ABA type update to the bandwith state of a shard.
  • use CC_ENABLE_WORKER_HEALTH_MONITOR knob to guard remoteDCIsHealthy logic
  • Use toml for snapshot test files
  • Use toml for remaining from_7.0.0 and to_7.0.0 restarting tests
  • Add Minicycle Workload
  • Link libfdb_c with -z noexecstack
  • Enabling rocksdb metrics logger in simulation.
  • Remove trimFromHostname().
  • Release notes for 6.3.23
  • When checking whether a timeout fired too early, use a larger epsilon from the target duration.
  • Removing this check as it still won't work if the knob is set
  • Add sleep 1 after killing/suspending a process
  • Use boost coroutines by default for sanitizers
  • Add test for correct permissions for libfdb_c execstack
  • Adding explicit empty version back to change feeds for now
  • Added new RETURN*_ON_ERROR variants to allow catching errors in other types of functions
  • Handling timeout and transaction changes for ThreadResults properly
  • MVC bug fixes
  • Update bindings/c/test/mako/mako.c
  • fixing formatting
  • Add support for universal trace fields that apply to all events in a process. Add a universal field on clients called ClientDescription that identifies the client logging the event.
  • add discrete tag_postfix to images, cleanup documentation
  • Coordinator should only reply client data if it's valid.
  • Coordinator should reply clientInfo when it changes.
  • Unify flags (Merge release-5.1 to master apple/foundationdb#25)
  • Fix a bunch of places where we used old-style arguments. Allow hyphens for profiler args.
  • Convert hyphens to underscores for all prefix-based arguments (e.g. --knob-, --locality-)
  • Backup agent was mistakenly modified in conf files.
  • Add a test that various binaries properly parse arguments.
  • Don' use new-style arguments in test harness.
  • Undo some changes that aren't command line flags.
  • Apply suggestions from code review
  • support lto (support lto apple/foundationdb#6140)
  • Invoke a different command on fdbbackup that doesn't hang when a cluster file is present but the cluster is unavailable.
  • Fix a bug in getDesiredCoordinators().
  • copy packaging/docker to PROJECT_BINARY_DIR (undoing part of refactor docker directory apple/foundationdb#5994), fetch commit_sha from source_code_directory (don't assume we're in the source tree anymore), allow custom tag (if a parameter is passed in as $1) update README.md
  • Set the CommitTransactionRequest span context upon construction/reset rather than in tryCommit.
  • Move awscli to base image from YCSB
  • Remove rundant WORKDIR directive
  • Refactor NativeAPI transactions to create and pass around a reference counted state object. Watches no longer use the tranasction info object but instead use their own state.
  • Enable -Wdelete-non-virtual-dtor for clang build
  • Update generated.go, and test to keep it up to date
  • KeyValueStoreRocksDB histograms to track latencies
  • Refactor: ClusterController driving cluster-recovery state machine
  • Refactor: ClusterController driving cluster-recovery state machine
  • Refactor: ClusterController driving cluster-recovery state machine
  • Format tmp_cluster.py with black
  • Fail test if there's a sev40 in the logs, and output logs if test fails
  • Fix memory leak. Closes Sending Never to a ReplyPromise leaks memory apple/foundationdb#4482
  • Suppress known asan stderr message
  • Increase default timeout to 5 minutes for add_fdbclient_test
  • Log status json if cluster is unavailable in fdbcli tests
  • Revert "Refactor: ClusterController driving cluster-recovery state machine"
  • Revert "Refactor: ClusterController driving cluster-recovery state machine"
  • Revert "Refactor: ClusterController driving cluster-recovery state machine"
  • Make VectorRefPreserializer move constructor noexcept
  • Convert variable to const&
  • Implement single deletion in RocksDB.
  • Fix some small bugs
  • Fixed a memory bug in the watch map. A few other formatting tweaks, etc.
  • Fix duplicate trace field.
  • Ignore RocksDB unit test by default because correctness breaks when RocksDB is not included
  • Check RocksDB flag in CMakeLists
  • Ignore RocksDB unit test
  • Disable static assertion in commitBatcher
  • Revert "Revert "Refactor: ClusterController driving cluster-recovery state machine" (Revert "Revert "Refactor: ClusterController driving cluster-recovery state machine" apple/foundationdb#6191)
  • Use smart pointers to manage TestWorkload objects
  • Build native headers for jni
  • Rebuild fat jar if fdbJNI.cpp changes
  • update download links in documentation Foundationdb.org Service 503 apple/foundationdb#6154
  • Update txnStateStore doc with new CC initiated recovery
  • Fix malformed JSON
  • Remove unneeded Arena in Requests/Replies
  • Suppress a small leak that LSAN is reporting
  • Enabled setting thread poll priorities.
  • Add a copy of libfdb_c.so to lib for external client use
  • Rename libfdb_c in bindings dir
  • Update Python libfdb_c paths
  • Remove unused OpenSSL code
  • Update recovery-internals documentation (Update recovery-internals documentation apple/foundationdb#6229)
  • Fix typo in trace event name
  • Add virtual destructor for IWorkloadFactory
  • Make the use provisional proxies parameter be of type UseProvisionalProxies everywhere.
  • Fix issue where enabling debug transaction after the transaction has been used could cause an assertion failure.
  • Fix memory issue with client watch metadata
  • Reject preprocessor directives in ACTORs
  • Fix typo in comment
  • Enable TLS Support for Windows (main)
  • Reintroduce HAVE_OPENSSL parameter
  • Rocksdb read range iterator pool to reuse iterators.
  • Removed deprioritizeThread().
  • Update backup documentation with cluster recovery
  • Replace master branch with main in documentations
  • Rocksdb write rate limiter.
  • Update cluster recovery documentation (Update code documentation for cluster recovery apple/foundationdb#6255)
  • Add the functions to set and get mock DNS.
  • Address comment.
  • Address comments.
  • Add support for 7.0 and 7.1 in transaction_profiling_analyzer
  • Set stdout to line buffered so shells without pseudo-terminals see realtime progress. (Set stdout to line buffered in mako apple/foundationdb#6262)
  • Add TRACE_PC_GUARD_INSTRUMENTATION_LIB
  • Add the support of using hostname in ConnectionString.
  • Hostname needs a default constructor.
  • Address comments.
  • Address comments.
  • Change Redwood default page size knob to 8192.
  • Raising default minimum shard size, as it causes unecessary merging on growing clusters.
  • Changed small shards in simulation logic
  • switched buggified and expected shard size for simulation
  • Add the support for using hostname in simulation.
  • Added storage engine metrics in SS.
  • Added systemClearRange.
  • Added get, scan, and commit counters.
  • Resolved comments.
  • Resolved comments.
  • Verify process network address filter before attempting setclass. Provide error message if no matching process addresses found
  • Add state prefix to ThreadFuture.
  • Format fix.
  • Use single transaction for setProcessClass and add fdbcli unit test.
  • add back special_keys_api_failure error check
  • Add fdbbackup tags command
  • Wrong JSON path is used to check DB lock status while switching DR clusters  apple/foundationdb#6231 Fix wrong json path to check DB lock status while switching over dr clusters.
  • Add thread names for release, cancel, destroy and abort.
  • Add thread name for FlowLineNoise.
  • Add sqlite writer thread name.
  • Add sqlite reader thread name.
  • Add thread name for SSLHandshakerThread.
  • Formatting fix.
  • Add python binding network thread name.
  • Rename linenoise thread name.
  • Add parentWatcher thread names.
  • Add RunLoopProfiler thread name.
  • Rename sqllite-write thread, add index for read threads.
  • Unset the last bit of the protocol version. Reorder protocol version feature declarations to match version order.
  • Add error handling in RocksDB KVS. (Add error handling in RocksDB KVS. apple/foundationdb#6277)
  • Revert "Use toml for snapshot test files"
  • Split ConfigureTestRestart test to 7.0 and 7.1; remove [configuration] in SnapIncrementalRestore-1.toml; revert CycleTestRestart-1.toml to .txt
  • Disable downgrade test to 7.0
  • Add the comment for the temporary change
  • Change SnapIncrementalRestore.toml to .txt
  • Add new FDB EncryptKeyProxy role
  • Use ObjectWriter to write storage cache data
  • Add new FDB EncryptKeyProxy role
  • Update fdbserver/KeyValueStoreSQLite.actor.cpp
  • Update fdbserver/KeyValueStoreSQLite.actor.cpp
  • Check if threadName exceeds 15 chars.
  • Add comment about python thread API not necessarily setting underlying OS thread name.
  • Fix uninitialized memory in storage server (Fix uninitialized memory in storage server apple/foundationdb#6282)
  • Use printable when formatting change feed ranges
  • Support other output streams in fdbcli printAtCol
  • Disable setclass test for now
  • support instrumented build
  • Re-enable CycleTestRestart downgrade tests
  • Remove extra StringRef copy
  • Remove threadName to attempt to find cause of bug in Apple CI build
  • format fix
  • Copy transaction state during reset to avoid potential issues with operations that were in-flight during the reset
  • Mark various externally exposed system transactions as read/access system keys. Also adjust a few lock aware declarations to read lock aware.
  • Improve/fix disk metrics.
  • add back threadnames for debugging
  • Split the management API into two parts, one that is generic and has no native API dependency and another that does have a native API dependency.
  • Adjust the name order of constructor variable initialization to match declaration order.
  • Add role 'kvfiledump' to dump key-values from storage file
  • Fix short hand
  • Fix use allKeys.end
  • Fix usage
  • Run clang-format
  • Fix typo
  • Undo some changes from LOCK_AWARE to READ_LOCK_AWARE. Apparently we have some dependencies in composed functions where a read-only function is setting lock awareness to the benefit of another function that does writes.
  • Add resolveTCPEndpointBlocking() to resolve hostnames where async resolving is impossible.
  • Add resolveHostnamesBlocking() in ConnectionString and IClusterConnectionRecord.
  • Fix flaky ctest tests (Fix flaky ctest tests apple/foundationdb#6310)
  • Better error handling for pthread_setname_np.
  • Use GetLastError to include errno data in trace logs.
  • Added a generic high contention allocator implementation to fdbclient. This is an adapted version of the flow bindings HCA implementation.
  • Add a hash function for Optional. Add a default boost hash function for any type that is not boost hashable but can be hashed using std::hash.
  • Add two unit tests for the new hashing functionality
  • format fixes
  • Add LogGroup support to fdbcli
  • Rename high contention allocator implementation in fdbclient
  • Fix formatting
  • Upgrade AES 128 GCM -> AES 256, StreamCipher code refactor (Upgrade AES 128 GCM -> AES 256, StreamCipher code refactor apple/foundationdb#6314)
  • Clarify the expectations for the current protocol version and min invalid protocol version in comments. Add static asserts to validate those expectations, where possible.
  • Add TraceEvent severity knob (Add TraceEvent severity knob apple/foundationdb#6326)
  • Fixing TSS buggify in restarting tests
  • Add missing test files
  • Enhance the detection of missing test files
  • Deprecate transaction_include_port_in_address (Deprecate transaction_include_port_in_address apple/foundationdb#6332)
  • Remove Downgrade test This test seems broken
  • Rename isEmptyMessage to messagesWritten
  • Create joshua package from ctest tests (Create joshua package from ctest tests apple/foundationdb#6237)
  • Don't run downgrade tests for valgrind. Closes Joshua valgrind package should not run downgrade tests  apple/foundationdb#6322
  • Fix go style issues
  • Move DDTeamCollection into its own files
  • Move TCServerInfo into its own files
  • Move all TC*Info classes into TCInfo.h
  • Update CONTRIBUTING.md
  • Update copyright headers
  • Fix stringop-overflow warning from gcc in StringRef::compare
  • createdTime based storage wiggler (createdTime based storage wiggler apple/foundationdb#6219)
  • support fdo
  • support fdo
  • fix typo during merge
  • Remove ClientLibManagement test
  • rename params and add disallow users to set both of PROFILE_INSTR_GENERATE and PROFILE_INSTR_USE
  • Move generated part of Program.cs to its own file
  • Move SimpleIni.h to fdbclient
  • Support xxhash3 for checksuming DiskQueue for TLogs
  • minor fix
  • fix hash size
  • use DiskQueueVersion::V2 for KeyValueStoreMemory
  • Revert "use DiskQueueVersion::V2 for KeyValueStoreMemory"
  • update comment
  • Refactor TRACING_UDP_LISTENER_PORT to TRACING_UDP_LISTENER_ADDR.
  • formatting
  • Preserving original LISTENER_PORT knob and adding new Knob TRACING_UDB_LISTENER_ADDR
  • Force loopback addr when in simulation mode.
  • Force loopback address when in simulation mode.
  • Update flow/Knobs.cpp
  • Support AWS v4 header for s3 backup and restore
  • Clang format files
  • Adding comment and address code style formatting.
  • Make AWS V4 header default
  • Fix path to SimpleIni.h in FDBService.cpp
  • Ignore rare/AllSimUnitTests.toml
  • Remove pid2server_info field
  • Remove uses of pid2server_info
  • Remove the deprecated code.
  • update RocskDB and Boost add Finduring, and include into fdbserver add BOOST asio/uring settings to fdbserver compile move portable rocks, liburing up to be configurable at build time.
  • Update copyright dates
  • Allow access to transaction options through a go ReadTransaction interface (Allow access to transaction options through a go ReadTransaction interface apple/foundationdb#6318)
  • Disallow starting the ConfigureTestRestart test from any version before 7.1 because of a bug that causes sporadic failures.
  • Remove the tests from CMakeLists
  • ApiWorkload ctor failed to perform null check on g_simulator
  • Add RatekeeperLimitReasonDetails traceevent for RK
  • typo
  • add overwrite op

sfc-gh-anoyes and others added 30 commits December 21, 2021 15:16
Also remove some unnecessary cgo stuff, and add a description to
trace_partial_file_suffix
KeyValueStoreRocksDB histograms to track latencies
At present, cluster recovery process consists of following steps:
1. ClusterController clusterWatchDatabase actor recruits
   master/sequencer process.
2. Sequencer process implements the cluster recovery state machine,
   responsible to recruit all other processes as well restore the
   cluster state.

Patch proposes a scheme where the cluster recovery state machine
is implemented and driven by the ClusterController process instead
of the Sequencer process.

Advantages of the scheme could be:
1. Simplified design where ClusterController recruits "sequencer"
   process like other worker processes compared to current scheme
   where "sequencer" process gets special treatment. In newer scheme
   sequencer is responsible for maintaining/providing
   "committed version" (as expected).
2. ClusterController is responsible for worker processes recruitment,
   the sequencer though orchestrating the recovery state machine, it
   need to reachout to the ClusterController for recruiting worker
   processes etc.

NOTE:
Patch has moved the recovery state machine code from
'sequencer' -> 'cluster-controller' process, however, necessary
updates were done for both functionality as well as performance
improvement reasons.

Next Steps:
Cluster recovery documentation will be updated in near future.
 diff-1: Address Jingyu's review comments

At present, cluster recovery process consists of following steps:
1. ClusterController clusterWatchDatabase actor recruits
   master/sequencer process.
2. Sequencer process implements the cluster recovery state machine,
   responsible to recruit all other processes as well restore the
   cluster state.

Patch proposes a scheme where the cluster recovery state machine
is implemented and driven by the ClusterController process instead
of the Sequencer process.

Advantages of the scheme could be:
1. Simplified design where ClusterController recruits "sequencer"
   process like other worker processes compared to current scheme
   where "sequencer" process gets special treatment. In newer scheme
   sequencer is responsible for maintaining/providing
   "committed version" (as expected).
2. ClusterController is responsible for worker processes recruitment,
   the sequencer though orchestrating the recovery state machine, it
   need to reachout to the ClusterController for recruiting worker
   processes etc.

NOTE:
Patch has moved the recovery state machine code from
'sequencer' -> 'cluster-controller' process, however, necessary
updates were done for both functionality as well as performance
improvement reasons.

Next Steps:
Cluster recovery documentation will be updated in near future.
 diff-1: Address Jingyu's review comments
 diff-2: Introduce ClusterRecovery actor to seperate out
         cluster recovery code

At present, cluster recovery process consists of following steps:
1. ClusterController clusterWatchDatabase actor recruits
   master/sequencer process.
2. Sequencer process implements the cluster recovery state machine,
   responsible to recruit all other processes as well restore the
   cluster state.

Patch proposes a scheme where the cluster recovery state machine
is implemented and driven by the ClusterController process instead
of the Sequencer process.

Advantages of the scheme could be:
1. Simplified design where ClusterController recruits "sequencer"
   process like other worker processes compared to current scheme
   where "sequencer" process gets special treatment. In newer scheme
   sequencer is responsible for maintaining/providing
   "committed version" (as expected).
2. ClusterController is responsible for worker processes recruitment,
   the sequencer though orchestrating the recovery state machine, it
   need to reachout to the ClusterController for recruiting worker
   processes etc.

NOTE:
Patch has moved the recovery state machine code from
'sequencer' -> 'cluster-controller' process, however, necessary
updates were done for both functionality as well as performance
improvement reasons.

Next Steps:
Cluster recovery documentation will be updated in near future.
If the target deletion range contains a single key, convert it into a
single deletion, to avoid extra cost in RocksDB due to range deletion.
…ngle-deletion

Implement single deletion in RocksDB.
…rtual-destructor

Enable -Wdelete-non-virtual-dtor for clang build
…t-test

Ignore RocksDB unit test by default because correctness breaks when RocksDB is not included
…d-go-up-to-date

Update generated.go, and test to keep it up to date
bnamasivayam and others added 23 commits February 7, 2022 17:53
They were deleted in apple#5593 but accidentally added back in apple#5589.
add Finduring, and include into fdbserver
add BOOST asio/uring settings to fdbserver compile
move portable rocks, liburing up to be configurable at build time.
…terface (apple#6318)

* Run go unit tests in ctest

* Remove unnecessary cgo directives

* go: Allow access to TransactionOptions from ReadTransaction

Closes apple#6265

* Try go get instead of go install

My understanding is that this should download dependencies (e.g. xerrors)

* Add -d flag to match go command for building libraries

* Avoid concurrent calls to `go get`
Split `DataDistribution.actor.cpp` into multiple files
…re 7.1 because of a bug that causes sporadic failures.
support Profile Guided Optimization
…est-restart

Disallow starting the ConfigureTestRestart test from any version before 7.1.
sfc-gh-sgwydir pushed a commit that referenced this pull request Sep 12, 2022
sfc-gh-sgwydir pushed a commit that referenced this pull request Dec 13, 2022
Previously we did not null out "attributes" in `Span& Span::operator=(Span&& o);`, but we destroyed the arena owning memory referenced by "attributes". Fix that by nulling out "attributes", and rewrite it in a way that's (hopefully) less error-prone.

ASAN diagnostic:
```
==24==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
=================================================================
==24==ERROR: AddressSanitizer: heap-use-after-free on address 0x60300033fa06 at pc 0x0000026eadcf bp 0x7ffca646fe50 sp 0x7ffca646f618
READ of size 9 at 0x60300033fa06 thread T0
    #0 0x26eadce in __asan_memmove /tmp/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:30:3
    #1 0xd43db76 in __copy<const unsigned char, unsigned char> /usr/local/bin/../include/c++/v1/__algorithm/copy.h:59:9
    apple#2 0xd43db76 in copy<const unsigned char *, unsigned char *> /usr/local/bin/../include/c++/v1/__algorithm/copy.h:72:13
    apple#3 0xd43db76 in write_bytes /mnt/ephemeral/anoyes/foundationdb/fdbrpc/include/fdbrpc/Msgpack.h:45:3
    apple#4 0xd43db76 in serialize_string(unsigned char const*, int, MsgpackBuffer&) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/include/fdbrpc/Msgpack.h:109:6
    apple#5 0xd43d208 in void serialize_map<SmallVectorRef<KeyValueRef, 1> >(SmallVectorRef<KeyValueRef, 1> const&, MsgpackBuffer&) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/include/fdbrpc/Msgpack.h:154:3
    apple#6 0xd42e2a2 in (anonymous namespace)::UDPTracer::serialize_span(Span const&, MsgpackBuffer&) /mnt/ephemeral/anoyes/foundationdb/fdbclient/Tracing.actor.cpp:157:3
    apple#7 0xd42c8f4 in (anonymous namespace)::FastUDPTracer::trace(Span const&) /mnt/ephemeral/anoyes/foundationdb/fdbclient/Tracing.actor.cpp:301:3
    apple#8 0xd41dfe2 in Span::operator=(Span&&) /mnt/ephemeral/anoyes/foundationdb/fdbclient/Tracing.actor.cpp:355:13
    apple#9 0xc3eb122 in (anonymous namespace)::ReadVersionBatcherActorState<(anonymous namespace)::ReadVersionBatcherActor>::a_body1loopBody1cont1(int) /mnt/ephemeral/anoyes/foundationdb/fdbclient/NativeAPI.actor.cpp:7180:9
    apple#10 0xc3e386d in a_body1loopBody1when2 /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbclient/NativeAPI.actor.g.cpp:32322:15
    apple#11 0xc3e386d in a_callback_fire /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbclient/NativeAPI.actor.g.cpp:32434:4
    apple#12 0xc3e386d in ActorCallback<(anonymous namespace)::ReadVersionBatcherActor, 1, Void>::fire(Void const&) /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:1316:34
    apple#13 0x278af3f in void SAV<Void>::send<Void>(Void&&) /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:655:23
    apple#14 0xdd2dc36 in send<Void> /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:901:8
    apple#15 0xdd2dc36 in Sim2::execTask(Sim2::PromiseTask&) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/sim2.actor.cpp:2319:15
    apple#16 0xdd2cf0e in Sim2::runLoop(Sim2*) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/sim2.actor.cpp:1279:11
    apple#17 0x7ebdf2e in main /mnt/ephemeral/anoyes/foundationdb/fdbserver/fdbserver.actor.cpp:2276:17
    apple#18 0x7f62c7be6554 in __libc_start_main (/lib64/libc.so.6+0x22554)
    apple#19 0x266f028 in _start (/mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/bin/fdbserver+0x266f028)

0x60300033fa06 is located 6 bytes inside of 32-byte region [0x60300033fa00,0x60300033fa20)
freed by thread T0 here:
    #0 0x26eb352 in free /tmp/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:111:3
    #1 0xdd90118 in ArenaBlock::destroy() /mnt/ephemeral/anoyes/foundationdb/flow/Arena.cpp:466:6
    apple#2 0xdd8f0b0 in delref /mnt/ephemeral/anoyes/foundationdb/flow/Arena.cpp:173:3
    apple#3 0xdd8f0b0 in delref<ArenaBlock> /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/FastRef.h:95:7
    apple#4 0xdd8f0b0 in operator= /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/FastRef.h:147:5
    apple#5 0xdd8f0b0 in Arena::operator=(Arena&&) /mnt/ephemeral/anoyes/foundationdb/flow/Arena.cpp:119:36
    apple#6 0xd41dfed in Span::operator=(Span&&) /mnt/ephemeral/anoyes/foundationdb/fdbclient/Tracing.actor.cpp:357:8
    apple#7 0xc3eb122 in (anonymous namespace)::ReadVersionBatcherActorState<(anonymous namespace)::ReadVersionBatcherActor>::a_body1loopBody1cont1(int) /mnt/ephemeral/anoyes/foundationdb/fdbclient/NativeAPI.actor.cpp:7180:9
    apple#8 0xc3e386d in a_body1loopBody1when2 /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbclient/NativeAPI.actor.g.cpp:32322:15
    apple#9 0xc3e386d in a_callback_fire /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbclient/NativeAPI.actor.g.cpp:32434:4
    apple#10 0xc3e386d in ActorCallback<(anonymous namespace)::ReadVersionBatcherActor, 1, Void>::fire(Void const&) /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:1316:34
    apple#11 0x278af3f in void SAV<Void>::send<Void>(Void&&) /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:655:23
    apple#12 0xdd2dc36 in send<Void> /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:901:8
    apple#13 0xdd2dc36 in Sim2::execTask(Sim2::PromiseTask&) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/sim2.actor.cpp:2319:15
    apple#14 0xdd2cf0e in Sim2::runLoop(Sim2*) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/sim2.actor.cpp:1279:11
    apple#15 0x7ebdf2e in main /mnt/ephemeral/anoyes/foundationdb/fdbserver/fdbserver.actor.cpp:2276:17
    apple#16 0x7f62c7be6554 in __libc_start_main (/lib64/libc.so.6+0x22554)

previously allocated by thread T0 here:
    #0 0x26ebeb2 in aligned_alloc /tmp/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:176:3
    #1 0xdd8e5e0 in ArenaBlock::create(int, Reference<ArenaBlock>&) /mnt/ephemeral/anoyes/foundationdb/flow/Arena.cpp:339:21
    apple#2 0xdd91139 in ArenaBlock::allocate(Reference<ArenaBlock>&, int) /mnt/ephemeral/anoyes/foundationdb/flow/Arena.cpp:322:7
    apple#3 0x2bbf49b in operator new[] /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/Arena.h:206:9
    apple#4 0x2bbf49b in StringRef /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/Arena.h:446:54
    apple#5 0x2bbf49b in Span::Span(SpanContext const&, Location const&, SpanContext const&, std::initializer_list<SpanContext> const&) /mnt/ephemeral/anoyes/foundationdb/fdbclient/include/fdbclient/Tracing.h:141:33
    apple#6 0x2bbef25 in Span::Span(Location const&, SpanContext const&, std::initializer_list<SpanContext> const&) /mnt/ephemeral/anoyes/foundationdb/fdbclient/include/fdbclient/Tracing.h:148:6
    apple#7 0xc1bd941 in Span /mnt/ephemeral/anoyes/foundationdb/fdbclient/include/fdbclient/Tracing.h:160:44
    apple#8 0xc1bd941 in ReadVersionBatcherActorState /mnt/ephemeral/anoyes/foundationdb/fdbclient/NativeAPI.actor.cpp:7125:6
    apple#9 0xc1bd941 in ReadVersionBatcherActor /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbclient/NativeAPI.actor.g.cpp:32621:6
    apple#10 0xc1bd941 in readVersionBatcher(DatabaseContext* const&, FutureStream<DatabaseContext::VersionRequest> const&, TransactionPriority const&, unsigned int const&) /mnt/ephemeral/anoyes/foundationdb/fdbclient/NativeAPI.actor.cpp:7098:26
    apple#11 0xc1b316a in Transaction::getReadVersion(unsigned int) /mnt/ephemeral/anoyes/foundationdb/fdbclient/NativeAPI.actor.cpp:7366:8
    apple#12 0xc19055f in getReadVersion /mnt/ephemeral/anoyes/foundationdb/fdbclient/include/fdbclient/NativeAPI.actor.h:315:44
    apple#13 0xc19055f in Transaction::get(Standalone<StringRef> const&, Snapshot) /mnt/ephemeral/anoyes/foundationdb/fdbclient/NativeAPI.actor.cpp:5314:13
    apple#14 0x5eca2f1 in a_body1 /mnt/ephemeral/anoyes/foundationdb/fdbserver/MoveKeys.actor.cpp:190:55
    apple#15 0x5eca2f1 in ReadMoveKeysLockActor /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/MoveKeys.actor.g.cpp:1001:9
    apple#16 0x5eca2f1 in readMoveKeysLock(Transaction* const&, MoveKeysLock* const&) /mnt/ephemeral/anoyes/foundationdb/fdbserver/MoveKeys.actor.cpp:188:26
    apple#17 0x5ee590d in a_body1loopBody1 /mnt/ephemeral/anoyes/foundationdb/fdbserver/MoveKeys.actor.cpp:228:39
    apple#18 0x5ee590d in (anonymous namespace)::TakeMoveKeysLockActorState<(anonymous namespace)::TakeMoveKeysLockActor>::a_body1loopHead1(int) /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/MoveKeys.actor.g.cpp:1421:49
    apple#19 0x5ecb801 in a_body1 /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/MoveKeys.actor.g.cpp:1400:16
    apple#20 0x5ecb801 in TakeMoveKeysLockActor /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/MoveKeys.actor.g.cpp:1807:9
    apple#21 0x5ecb801 in takeMoveKeysLock(Database const&, UID const&) /mnt/ephemeral/anoyes/foundationdb/fdbserver/MoveKeys.actor.cpp:216:34
    apple#22 0x542a421 in DDTxnProcessor::takeMoveKeysLock(UID const&) const /mnt/ephemeral/anoyes/foundationdb/fdbserver/DDTxnProcessor.actor.cpp:620:9
    apple#23 0x562aa75 in takeMoveKeysLock /mnt/ephemeral/anoyes/foundationdb/fdbserver/DataDistribution.actor.cpp:330:69
    apple#24 0x562aa75 in DataDistributor::InitActorState<DataDistributor::InitActor>::a_body1loopBody1(int) /mnt/ephemeral/anoyes/foundationdb/fdbserver/DataDistribution.actor.cpp:370:44
    apple#25 0x562a0ba in a_body1loopHead1 /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/DataDistribution.actor.g.cpp:1116:49
    apple#26 0x562a0ba in DataDistributor::InitActorState<DataDistributor::InitActor>::a_body1(int) /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/DataDistribution.actor.g.cpp:1083:16
    apple#27 0x55088c0 in InitActor /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/DataDistribution.actor.g.cpp:1715:9
    apple#28 0x55088c0 in init /mnt/ephemeral/anoyes/foundationdb/fdbserver/DataDistribution.actor.cpp:367:26
    apple#29 0x55088c0 in a_body1loopBody1 /mnt/ephemeral/anoyes/foundationdb/fdbserver/DataDistribution.actor.cpp:611:39
    apple#30 0x55088c0 in (anonymous namespace)::DataDistributionActorState<(anonymous namespace)::DataDistributionActor>::a_body1loopHead1(int) /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/DataDistribution.actor.g.cpp:2772:49
    apple#31 0x54e9cf1 in a_body1 /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/DataDistribution.actor.g.cpp:2751:16
    apple#32 0x54e9cf1 in DataDistributionActor /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/DataDistribution.actor.g.cpp:3976:9
    apple#33 0x54e9cf1 in dataDistribution(Reference<DataDistributor> const&, PromiseStream<GetMetricsListRequest> const&) /mnt/ephemeral/anoyes/foundationdb/fdbserver/DataDistribution.actor.cpp:586:26
    apple#34 0x54f8758 in a_body1 /mnt/ephemeral/anoyes/foundationdb/fdbserver/DataDistribution.actor.cpp:1533:39
    apple#35 0x54f8758 in DataDistributorActor /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/DataDistribution.actor.g.cpp:11473:9
    apple#36 0x54f8758 in dataDistributor(DataDistributorInterface const&, Reference<AsyncVar<ServerDBInfo> const> const&) /mnt/ephemeral/anoyes/foundationdb/fdbserver/DataDistribution.actor.cpp:1517:26
    apple#37 0x88f3f88 in (anonymous namespace)::WorkerServerActorState<(anonymous namespace)::WorkerServerActor>::a_body1cont10loopBody1when6(InitializeDataDistributorRequest&&, int) /mnt/ephemeral/anoyes/foundationdb/fdbserver/worker.actor.cpp:2219:42
    apple#38 0x8871c15 in a_callback_fire /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbserver/worker.actor.g.cpp:13169:4
    apple#39 0x8871c15 in ActorSingleCallback<(anonymous namespace)::WorkerServerActor, 6, InitializeDataDistributorRequest>::fire(InitializeDataDistributorRequest&&) /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:1338:34
    apple#40 0x33e13c0 in send<InitializeDataDistributorRequest> /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:1004:29
    apple#41 0x33e13c0 in NetNotifiedQueue<InitializeDataDistributorRequest, false>::receive(ArenaObjectReader&) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/include/fdbrpc/fdbrpc.h:702:10
    apple#42 0xd91b6c6 in (anonymous namespace)::DeliverActorState<(anonymous namespace)::DeliverActor>::a_body1cont1(int) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/FlowTransport.actor.cpp:1042:15
    apple#43 0xd91a37d in a_body1cont2 /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbrpc/FlowTransport.actor.g.cpp:4333:15
    apple#44 0xd91a37d in a_body1when1 /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbrpc/FlowTransport.actor.g.cpp:4345:15
    apple#45 0xd91a37d in a_callback_fire /mnt/ephemeral/anoyes/build/foundationdb.linux.clang.asan.x86_64/fdbrpc/FlowTransport.actor.g.cpp:4366:4
    apple#46 0xd91a37d in ActorCallback<(anonymous namespace)::DeliverActor, 0, Void>::fire(Void const&) /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:1316:34
    apple#47 0x278af3f in void SAV<Void>::send<Void>(Void&&) /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:655:23
    apple#48 0xdd2dc36 in send<Void> /mnt/ephemeral/anoyes/foundationdb/flow/include/flow/flow.h:901:8
    apple#49 0xdd2dc36 in Sim2::execTask(Sim2::PromiseTask&) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/sim2.actor.cpp:2319:15
    apple#50 0xdd2cf0e in Sim2::runLoop(Sim2*) /mnt/ephemeral/anoyes/foundationdb/fdbrpc/sim2.actor.cpp:1279:11
    apple#51 0x7ebdf2e in main /mnt/ephemeral/anoyes/foundationdb/fdbserver/fdbserver.actor.cpp:2276:17
    apple#52 0x7f62c7be6554 in __libc_start_main (/lib64/libc.so.6+0x22554)

SUMMARY: AddressSanitizer: heap-use-after-free /tmp/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:30:3 in __asan_memmove
Shadow bytes around the buggy address:
  0x0c068005fef0: fa fa fd fd fd fd fa fa fd fd fd fd fa fa fd fd
  0x0c068005ff00: fd fd fa fa fd fd fd fd fa fa fd fd fd fa fa fa
  0x0c068005ff10: fd fd fd fd fa fa fd fd fd fd fa fa fd fd fd fd
  0x0c068005ff20: fa fa fd fd fd fa fa fa fd fd fd fd fa fa fd fd
  0x0c068005ff30: fd fd fa fa fd fd fd fd fa fa fd fd fd fa fa fa
=>0x0c068005ff40:[fd]fd fd fd fa fa fd fd fd fd fa fa fd fd fd fd
  0x0c068005ff50: fa fa fd fd fd fa fa fa fd fd fd fa fa fa fd fd
  0x0c068005ff60: fd fa fa fa fd fd fd fa fa fa fd fd fd fd fa fa
  0x0c068005ff70: fd fd fd fd fa fa fd fd fd fa fa fa 00 00 00 00
  0x0c068005ff80: fa fa fd fd fd fd fa fa 00 00 00 00 fa fa fd fd
  0x0c068005ff90: fd fd fa fa 00 00 00 00 fa fa 00 00 00 00 fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
```
sfc-gh-sgwydir pushed a commit that referenced this pull request Apr 10, 2023
* EaR - Misc fixes found using end-to-end integration testing

Description

Major changes proposed includes:
1. RESTClient filtering of trailing `/`(s) characters from
input URI resource path
2. Avoid EKP exponential backup given RESTClient supports
exponential backoffs retries for all retryable errors.
3. Memory allocation optimizations:
 3.1. BaseCipher key management using Standalone semantics
 in KMSConnector interface endpoints
 3.2. Optimize memcpy while looking encryption-keys in EKP endpoints
4. Avoid delay while starting EKP, given its criticality during
cluster recovery.
5. Update BlobCipher to handle variable size BaseCipher buffer
6. Improved logging

Testing

Setup:
1. External KMS server to supply encryption keys (inhouse)
2. Create cluster with: cluster_aware & domain_aware config

* Fix EncryptionOps test

Description

Testing

* EaR - Misc fixes found using end-to-end integration testing

Description

Major changes:
1. Cleanup EKP driven exponential backup files.
2. Update EKP not to use #1.

Testing

* EaR - Misc fixes found using end-to-end integration testing

Description

Address review comments

Testing

* Fix AES 256 key length value

Description

Testing

* Address review comments

Description

Testing
sfc-gh-sgwydir pushed a commit that referenced this pull request Apr 28, 2023
…newline char

Description

The test does the following:
1.Randomly appends new-line character to the token value buffer
2. If #1 is done, it generates temp token file with buffer containing
   new-line character.
3. Also, it remember the original token for future validation
4. The code parse and read token-validation files and removes the new-line
   character as desired.

Failure in this case due to random buffer used to populate token value
contained newline character which was used for validation, however,
the file parse/read code as expected removed the newline character,
hence causing the mismatch.

Patch addresses the concern by ensuring test generated random
token-value has no trailing newline chars.

Testing

tests/fast/RandomUnitTests.toml -s 1355028229
sfc-gh-sgwydir pushed a commit that referenced this pull request May 14, 2023
…) (apple#9859)

* EaR - Misc fixes found using end-to-end integration testing

Description

Major changes proposed includes:
1. RESTClient filtering of trailing `/`(s) characters from
input URI resource path
2. Avoid EKP exponential backup given RESTClient supports
exponential backoffs retries for all retryable errors.
3. Memory allocation optimizations:
 3.1. BaseCipher key management using Standalone semantics
 in KMSConnector interface endpoints
 3.2. Optimize memcpy while looking encryption-keys in EKP endpoints
4. Avoid delay while starting EKP, given its criticality during
cluster recovery.
5. Update BlobCipher to handle variable size BaseCipher buffer
6. Improved logging

Testing

Setup:
1. External KMS server to supply encryption keys (inhouse)
2. Create cluster with: cluster_aware & domain_aware config

* Fix EncryptionOps test

Description

Testing

* EaR - Misc fixes found using end-to-end integration testing

Description

Major changes:
1. Cleanup EKP driven exponential backup files.
2. Update EKP not to use #1.

Testing

* EaR - Misc fixes found using end-to-end integration testing

Description

Address review comments

Testing

* Fix AES 256 key length value

Description

Testing

* Address review comments

Description

Testing

(cherry picked from commit 3f6fcad)
(apple#9806)
sfc-gh-sgwydir pushed a commit that referenced this pull request May 14, 2023
…newline char (apple#9951)

Description

The test does the following:
1.Randomly appends new-line character to the token value buffer
2. If #1 is done, it generates temp token file with buffer containing
   new-line character.
3. Also, it remember the original token for future validation
4. The code parse and read token-validation files and removes the new-line
   character as desired.

Failure in this case due to random buffer used to populate token value
contained newline character which was used for validation, however,
the file parse/read code as expected removed the newline character,
hence causing the mismatch.

Patch addresses the concern by ensuring test generated random
token-value has no trailing newline chars.

Testing

tests/fast/RandomUnitTests.toml -s 1355028229

(cherry picked from commit 8e52082)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Joshua valgrind package should not run downgrade tests Sending Never to a ReplyPromise leaks memory