v0.3.0
Release notes were automatically generated by Shipkit
0.3.0
- 2019-08-22 - 2396 commits by 29 authors - published to
- Commits: Sivabalan Narayanan (592), Gopalakrishna Holla (484), Priyesh Narayanan (402), sriramsub (325), Casey Getz (99), Tianwei Li (96), Jay J Wylie (72), Ming Xia (71), Ze Mao (63), Yingyi Zhang (60), Terry Li (32), Rob Block (30), David Harju (29), Xun Yin (12), Sriram Subramanian (6), Ankur Agrawal (4), Dmitry Nikiforov (3), Jasper Siepkes (3), Justin Lin (3), André Laszlo (1), Bas van Schaik (1), Diego Mariani (1), Enrico Olivelli (1), heipacker (1), johnnyjian (1), Naresh Bafna (1), ohze.net (1), Shuai Yuan (1), Vincent Bernat (1)
- Fix directory deletion failure in DiskSpaceAllocator (#1244)
- Add config option to connect to Cosmos with DirectHttps mode (#1243)
- Use Timer instead of Histgram on some metrics (#1242)
- Enable shipkit release publishing (#1239)
- Fix gradle heap size configs (#1238)
- Misc fixes in cluster manager, replication and compaction manager (#1237)
- Clean up network related metrics. (#1236)
- Upgrade gradle, fix test logging and int test CPU usage (#1235)
- Implement helixAccountService with version history and blobs (#1234)
- Support dynamically removing store from storage manager (#1232)
- Fix broken builds by specifying Ubuntu trusty dist. (#1231)
- Run azure recovery locally (#1230)
- Implement get functionality for Azure Vcr (#1229)
- Introducing Ambry partition state model and update Helix tool (#1228)
- Create executor pool to take over network read/write tasks. (#1227)
- Support dynamically adding store to storage manager (#1226)
- Add cache of recently seen blobs in CloudBlobStore (#1225)
- Ensure blobId with prefix in request header is correctly handled (#1224)
- Set permissions for ambry data and operation files (#1223)
- Support QPS throttling in NettyPerfClient (#1220)
- Misc changes for adaptive operation tracker (#1218)
- Allow NettyPerfClient to connect multiple frontends (#1217)
- Implement VCR findEntriesSince method (#1216)
- Free PutOperation references earlier (#1215)
- Add more log infos in AmbryStateModel (#1214)
- Allow store to skip disk flush during shutdown if disk I/O error occurs (#1212)
- Cloud compactor schedule (#1211)
- Refactoring DiskSpaceAllocator to support dynamically add/remove store (#1210)
- Fix bug causing uploaded blobs to be empty (#1209)
- Downgrade metrics library (#1208)
- Fix partition lag metric typo (#1207)
- Shutdown request handler before network server in ambry server (#1206)
- Retry Cosmos requests after delay when they return 429 (#1205)
- Fix typo in partition lag metric name (#1204)
- Add off switch for replenishConnections and honor datanode health (#1203)
- Fixed some issues with Segment GETs (#1202)
- Fix potential cache incoherence issue. (#1201)
- Add Cosmos record even if blob was previously uploaded (#1200)
- Add configurable warm up for remote datacenter connections (#1198)
- Improve GetWritablePartitionIds Performance for PUT Requests (#1197)
- Improve OperationTracker to terminate when there are two NOT_FOUND from originating DC (#1196)
- Add per partition replication lag metrics. (#1195)
- Upgrade Helix library version and add auto maintenance mode in HelixVcrPopulateTool (#1194)
- Segmented get metrics (#1193)
- Azure container name must be lower case (#1192)
- Add support for querying and purging dead blobs in Azure (#1189)
- Add post blob size (#1188)
- Segmented blob GET (#1187)
- Maintain connection low watermark in NetworkClient (#1186)
- Use cluster name as prefix in Azure blob container (#1185)
- Introducing node-level/disk-level histogram in adaptive tracker (#1184)
- Use customized blobId string as Azure blob name. (#1181)
- Ensure all disconnected connections are handled by ResponseHandler (#1180)
- Add resource control enable/disable (#1179)
- Fix helix test issues. (#1177)
- Added HelixPopulateTool and tests. (#1176)
- Stitched blobs support different sized component blobs (#1175)
- Introducing partition-level histogram into adaptive tracker (#1174)
- Exclude timed out response from adaptive tracker's histogram (#1173)
- Add logs in CompositeClusterManager to debug writable partition mismatch (#1172)
- Introduce HelixVcrCluster to CloudBackupManager and refactor ReplicationEngine and ReplicaThread. (#1171)
- Minor fixes in IOException catch and metrics registry (#1170)
- Fix to correct #1165. (#1169)
- Fix NullPointerException and 'no more capacity' issues in blob store (#1168)
- Cloud tokens (#1166)
- Blobs get TTL upload should be uploaded to Cloud. (#1165)
- Make CompositeClusterManager more robust to NPEs and other errors (#1164)
- Avoid unnecessary round trips to Azure when uploading blobs (#1163)
- Fixing the intermittent Helix tool test failure (#1162)
- Introduce container metrics (#1161)
- Add more error message to help debug invalid offset (#1160)
- Refactor operation tracker ctor and introduce custom percentiles (#1159)
- Add HelixVcrCluster and HelixVcrClusterFactory. (#1158)
- Misc minor fixes in Helix tool, ReplicationEngine and Composite Manager (#1157)
- Create ZkServerWrapper to speed up test. (#1156)
- Set network proxy in config rather than jvm args (#1155)
- Combined cloud blob crypto service (#1154)
- Provide option to use GetBlobOperation for BlobInfo (#1153)
- Avoid calling clusterMap.getReplicas() in VCR mode. (#1152)
- Add support for cluster name in request URI (#1151)
- Introduce (un)satisfied request metrics to better evaluate availability (#1150)
- Add metrics for AzureCloudDestination (#1149)
- Add VirtualReplicatorClusterFactory and refactor endToEndCloudBackupTest SSL config. (#1148)
- Fix intermittent index test failure (#1146)
- Disable bucketing test temporarily (#1145)
- Fix server startup failure due to invalid stats type (#1143)
- Add VCRServer, StaticVCRCluster and tests (#1142)
- Fix hostname mismatch issue in test. (#1141)
- Add CloudBackupManger Implementation. (#1140)
- Add CloudDestinationFactory to pass to CloudBackupManager (#1139)
- Refactor VirtualReplicatorClusterMap to VirtualReplicatorCluster. (#1137)
- Introduce CloudDataNode and CloudReplica (#1136)
- Stats-related changes in aggregation tool and health report (#1135)
- Refactor ReplicationManager and Introduce VirtualReplicatorCluster interface. (#1134)
- Azure Backup: Write blob metadata into Azure CosmosDB (#1133)
- Upgrade helix to 0.8.3 (#1131)
- Support to pass externalAssetTag from HTTP header to NotificationSystem. (#1130)
- Cloud blob store (#1129)
- Introduce request handlers for account metadata (#1126)
- Supporting cluster wide stats aggregation for partition class (#1125)
- Added isBackedUp option for Container objects (#1124)
- Avoid returning 416 when range end past blob (#1123)
- Pass IdSigningService into SecurityServiceFactory (#1120)
- Introducing secure path validation in Container (#1119)
- Allow NettyServer to use its own ssl impl (#1117)
- Make Bootstrap tool use Helix Cluster Manager for validation (#1116)
- Introducing AmbryStatsReport to support multiple types of stats (#1115)
- Fix size calculation in serializeString (#1114)
- Address review comments on #1109 (#1111)
- Add edit functionality to AccountUpdateTool (#1110)
- Support for raw mode in GetBlobOptions (#1109)
- Updating format version for Delete records (#1108)
- Dump index tool fixes (#1106)
- Warp data as many as possible in SSLTranmission#write(ByteBuffer) (#1105)
- Merge recent kafka changes into SSLTransmission (#1104)
- Make cluster manager initialization more resilient (#1103)
- Two harmless changes for test and perf tuning. (#1102)
- Populate correct blob size on getBlobInfo requests (#1101)
- Changed BlobIdTransformer to enforce correct BlobIdProperty size for composite blobs (#1100)
- Override BlobProperties blob size with the size field in metadata content (#1099)
- Extract stitch request serde code (#1098)
- Add metric to track number of SSL handshaking connections (#1096)
- Add config for selecting PRNG algorithm in JdkSslFactory (#1095)
- BlobIdTransformer now will transform the listed datachunk IDs in a metadata chunk (#1094)
- Adding a container config for a whitelist of content types (#1092)
- Changing impl of keeping sealed index segs in mem (#1091)
- Granular (colo-level) update support in the Helix tool (#1090)
- Improve CopyingAsyncWritableChannel for prod use (#1088)
- [stitched uploads] Support stitch API in frontend (#1087)
- Fix arg bug in AccountUpdateTool (#1086)
- Adding tests to verify replication with different versions of BlobId behaves correctly (#1085)
- Make cross-colo listening optional within Helix ClusterManager (#1084)
- Introduce QuotaManager for rest requests. (#1083)
- Make StaticClusterManager handle Replica_Unavailable server error (#1082)
- [stitched uploads] Implement Router.stitchBlob() (#1081)
- Deduplicate list of IDs received for GET (#1080)
- Save local backup when using AccountUpdateTool (#1079)
- Add more debug messages to catch bug related to SimpleOperationTracker. (#1078)
- Fixing some config variables and a log message (#1077)
- Use try-finally idiom with locks correctly (#1076)
- Cancel scheduled persistor task when shutting down BlobStore (#1075)
- Improving DumpIndexTool to detect crafted IDs and duplicates across keys if required (#1074)
- Define Comparator at class level for certain classes that do not. (#1073)
- Ensure MessageInfo deleted flag is set correctly for deleted messages (#1072)
- Reporting extra dirs on disk (#1071)
- Sending BlobInfo headers on getBlob() (#1070)
- [Helix cluster manager] Nodes should initialize even if there are ZK Connectivity problems (#1069)
- Fixing a bug in the replication metadata response logging (#1067)
- Adding support at the frontend to get clustermap state (#1066)
- Adding a method (and impls) to get a snapshot of the ClusterMap (#1065)
- Disable router GetBlobOperation test involving Encryption (#1064)
- Intermittent error in Router Tests (#1063)
- Supporting getting specified types of stats report in BlobStoreStats (#1062)
- Make replication GetRequest fetch deleted and expired blobs (#1060)
- Reducing logging size + metrics for size tracking for metadata response (#1059)
- Make SecurityService.postProcessRequest call async (#1058)
- [Move Replica] Enable StatsManager to dynamically add/remove store (#1057)
- Separating unconditional throttle cfg b/w inter & intra dc replica threads (#1056)
- Separate throttling control for remote and local replication (#1055)
- Ignore dynamic fields when comparing InstanceConfigs (#1053)
- Introduce shorter blob ID (V6) (#1051)
- Making TTL required true by default for containers (#1050)
- Temporarily suppress logging of replication messages (#1049)
- Adding metrics and logging for replica thread throttling (#1045)
- Keep track of error occurred instances during stats aggregation (#1044)
- Set default replication throttling sleep configs to 0 (#1043)
- Preserve CRCs in messages when they are transformed during replication (#1042)
- Add error message in clusterwide stats aggregation (#1041)
- Attach tracking info to frontend responses (#1040)
- Make server detect Disk_Unavailable correctly (#1039)
- Make router handle Replica_Unavailable properly (#1038)
- Fixing a bug with upgrade tool-partition class interaction (#1037)
- StoreCopier now warms up transformer i.e. allows it to invoke batched… (#1035)
- Add support for xid in the bootstrap tool (#1033)
- Enhance frontend config to allow flexible upload and download endpoints for signing (#1032)
- Adding bootstrap functionality to Journal (#1029)
- Fix the random NPE in xidTest (#1028)
- Fixing bugs with TTL updates (#1027)
- Prevent busy polling in replication thread (#1026)
- Catch disk I/O errors and dynamically shutdown BlobStore (#1025)
- Increase timeout to pass test. (#1024)
- Add support for xids in the cluster manager (#1023)
- [stitched uploads] Support individual datachunk upload (#1022)
- Add Account and Container to NotificationSystem (#1021)
- Add V5 support to BlobID.getLongForm() (#1020)
- Adding support for TTL updates in StoreCopier (#1019)
- Adding a config for providing a default GetOption at the frontend (#1018)
- Adding ttl required setting to container config (#1017)
- Add accountName/containerName to NotificationSystem (#1016)
- Use BlobId data type to optimize Delete and UpdateTTL operations (#1015)
- Frontend connections warm up in booting up. (#1014)
- Fixed logs in ambry-tools, ReplicaThread bug (#1013)
- Supporting TTL updates in BlobStoreStats (#1011)
- Adding Router integration tests for TTL update (#1010)
- Adding server integration tests for TTL update (#1009)
- Added deprecated blob count logging in ConsistencyCheckerTool (#1008)
- Fix a bug of AUTH_FAILURE in RouterServerTestFramework (#1006)
- Fixing bugs with some GET and TTL update paths (#1005)
- Instantiate Notifier in HelixAccountServiceFactory ctor (#1003)
- Map Server Blob_Authorization_Failure to Router. (#1002)
- Fix bug in appendFrom (#1000)
- Some fixes after commons upgraded (#999)
- Do larger IO for putRequest (#998)
- Supporting replication of TTL updates (#997)
- InputStream implementations should honor contract. (#995)
- Adding support for TTL update in AmbryRequests (#993)
- Increasing timeout and allowed mem usage for integration tests (#992)
- Provide the option to use direct IO in compaction. (#991)
- Fix NullPointerException during Stats Aggregation (#990)
- Added StoreKeyConverter support to replication (#989)
- Introducing "Replica_Unavailable" as a new type of ServerErrorCode (#988)
- Providing a configuration for keeping the index in memory (#987)
- Handling a recovery case that wasn't handled before (#986)
- Introduce PutBlobOptions in router API (#983)
- Changed StoreKeyConverter interface to support caching (#982)
- Added BlobIdTransformer and test (#980)
- Changes to BlobStoreCompactor to handle TTL update records (#978)
- Changes to Store to support TTL updates (#977)
- Simplify bloom filter generation when initializing IndexSegment (#976)
- StoreKeyConverter returned map can now have null values... (#975)
- Add bits for BlobDataType in BlobId flag. (#973)
- Add support for message transformation during replication (#970)
- Generate bloom file and persist when initializing existing IndexSegment (#969)
- Add metrics for indexSegments and replication get request. (#968)
- Adding new server error codes (#967)
- Adding support for notifications for replication of TTL updates (#966)
- Adding support for partition override as rollback plan (#965)
- Adding some debugging messages to help debug a build failure (#964)
- Do storeKey conversion for keys in GET/DELETE requests (#961)
- Added equals() impl for MessageInfo (#960)
- Fix for replication bug with empty store (#959)
- Supporting TTL update at the frontend (#958)
- Separate hard delete rate from compaction rate. (#957)
- Add an option for NettyPerfClient to read blobIds in file. (#956)
- Max size for getIndexEntries() should be Long.MAX_VALUE (#955)
- Improve build performance, minor fixes (#954)
- StoreKeyConverter in ambry-tools, changed StoreKeyConverter interface slightly (#953)
- Refactor postBlob code into handler class (#951)
- Compaction read buffer size can be same as clean up rate (#950)
- store.compaction.min.buffer.size minimum value can be 0 (#949)
- Disable compaction bundle read if storeCompactionMinBufferSize is 0 (#948)
- Add metrics for compaction bundle read. (#947)
- Made ctors for MessageFormatInputStream test impls public (#946)
- Public test input streams (#945)
- Adding TTL update support at the Router (#944)
- Fixes and enhancements to MessageInfoAndMetadataListSerde (#943)
- Adding ttl update to the notification system (#942)
- Cleanup replication code (#939)
- Wired in StoreKeyConverterFactory (#938)
- Updating PersistentIndex to handle TTL update entries (#937)
- Changed ctor for StoreKeyConverterFactoryImpl to match common pattern… (#936)
- Added string build method for StoreKeyFactory interface (#935)
- Using the repl policy in container to choose partition (#934)
- StoreKeyConverter default implementations (#933)
- MessageFormatInputStream does not conform with InputStream (#932)
- Introduce BufferedInputStream for non MessageFormatFlags.All cases. (#931)
- Do bundled read in compaction copy phase. (#930)
- Introducing "STOPPED" replicas list into Helix InstanceConfig (#929)
- Add all replicas to OperationTracker if originating DC is unknown (#928)
- Resolves possible race conditions for PartitionsState on init (#927)
- Adding a ttlUpdated field in MessageInfo (#926)
- Added IOException to Transformer interface (#922)
- Remove subMap to flattern Stats Report (#921)
- Allowing for multiple values for the same key in IndexSegment (#920)
- Adding replication policy to container config (#919)
- Updates to Helix Cluster Map Update tool (#918)
- Fix statsBasedCompaction comparator bug (#917)
- Fix PartitionManager by adding the serverPropsFilePath option (#692) (#914)
- Add option to add customized http header for NettyPerfClient. (#912)
- Added StoreKeyConverter and StoreKeyConverterFactory interfaces (#910) (#911)
- Adding StoreKeyConverter and StoreKeyConverterFactory interfaces (#910)
- Add optional hint to include exception message in response (#909)
- Modify selector metrics to remove timeout cases. (#908)
- Add optional native SSL support (#907)
- Initialize HelixAdmin in constructor and re-assign it during participation (#906)
- Add logs to track Seal/Unseal BlobStore (#904)
- Adding request/response protocol for TTL updates (#903)
- Introducing the concept of "partition class" (#902)
- Improve Helix Update tool (#901)
- Blob_Id_V3 encrypted bit decommission. (#899)
- Introduce BLOB_ID_V4 and routerBlobidCurrentVersion is still 3. (#898)
- Introducing a UpdateRecord (#897)
- Explicitly ignore dynamic new node additions (#896)
- Change rackId field to a string (#895)
- Adding a message format for TTL update (#894)
- Add Conditional Delete in frontend (#893)
- Zero copy alternative: data pre-fetch. (#892)
- fix metric bug for get/put processingTimeBySize (#891)
- Add a ServerAdminTool to control BlobStore (#889)
- Making the starts with check for user metadata case insensitive (#887)
- Fixes a bug and removes/changes some configs (#885)
- Add start BlobStore API on server side (#884)
- Skip accountId and containerId check if blobId version is 1. (#881)
- Introduce Stop BlobStore API on server side (#880)
- Disable compaction on given store in CompactionManager (#879)
- Prioritize error code in GET/PUT operations (#877)
- Add metrics to track blob access not in local datacenter (#876)
- Separating out 500s into 500, 503 and 507 (#873)
- Set storeValidateAuthorization default value false. (#871) (#872)
- Fixing a bug with ensuring account and container injected (#870)
- Fixing a mem leak in DiskReformatter (#869)
- Map store Authorization_Failure to HTTP Forbidden. (#860) (#867)
- Expose static method for getting blob ID version (#866)
- Making more classes required for SecurityServiceFactory public (#865)
- Removed untimed waits and fixing a test (#864)
- Making the constructor of AcctAndContInj protected (#863)
- Sending a clustermap and accntInjector to the SecurityServiceFactory (#862)
- Add SSL handshake and first byte metrics (#861)
- Fixing a metric name in Non Blocking Router (#859)
- Validate accountId and containerId in store server. (#857)
- Adding some more logging in tests to debug #855 (#856)
- Exposing encrypted info about blob in response headers (#854)
- Counting aborts due to inactive channels as client disconnects (#853)
- Ensure response body closed on SecurityService::processResponse errors. (#849)
- Changing store options when fetching blobs in StoreCopier (#848)
- Adding check for instanceConfig == null to setSealedReplicas (#847)
- Fix AccountUpdateTool test case (#846)
- Updating DiskReformatter to copy partition files to scratch disk in atomic fashion (#844)
- Log thread death reasons instead of printing (#843)
- Adding some info to a test failure (#842)
- Set default container json version to 2 (#841)
- BlobId getVersion() should be public to support tools (#839) (#840)
- Add support for parsing BlobId preamble without a clustermap (#837)
- Fix an incorrect default in RouterConfig documentation (#830)
- Add support for BlobId crafting (#829)
- Select remote datacenter when not found locally (#827)
- Treating one more exception message as a client disconnect (#824)
- Adding encrypted info in the BlobId flag (#822)
- Adding CryptoJobMetrics and Tracker to track detailed crypto job metrics (#821)
- Add account versioning and local backup on updates (#818)
- Adding encryption key comparison in BlobValidator (#817)
- Adding metrics for Encryption (#816)
- Adding a required config to the examples (#815)
- Frontend not starting with QuickStart Description: Missing kms.default.container.key (#814)
- Adding support to NettyPerfCient to target account and container (#813)
- Add AccountUpdateTool option to specify container version (#812)
- Stop logging client cert when client auth is not required (#810)
- Disabling another stats test that fails intermittently (#808)
- Adding a preprocess step in security service (#807)
- Config for limiting size of multipart POST requests (#806)
- Fixing a bug with injection of metrics (#805)
- Adding support for OPTIONS (#804)
- Introduce BlobId V3 and the idea of native and crafted ids (#803)
- Problem with setting up HTTPS for ambry-frontend (#802)
- Adding encryption support to Router (#801)
- Enabling new HeaderFormat, BlobKeyRecord, GetResponse, ReplicaMetadata version (#800)
- Make account name matching error clearer. (#798)
- Add alloc/free time metrics to DiskSpaceAllocator (#796)
- Added option to disable reverse DNS lookups. (#795)
- Setting a valid datacenter ID in the blob ID (#794)
- Added enable config for dynamic seal/unseal BlobStore (#793)
- Add read support for V2 container schema (#792)
- Tracking the age of a blob at its time of access (#791)
- Bumping up Helix version (#789)
- Adding the ability to create signed URLs (#786)
- Adding some more handling for recognizing client disconnects (#785)
- Add Message Format support for encryption (#782)
- Allows CatchupStatus req to spec num replicas that hv to be caught up (#780)
- BlobStore changes to support dynamic Read-Write/Read-Only change (#771) (#779)
- Counting client resets separately from actual internal errors (#778)
- Add tool to generate accounts for existing service IDs (#777)
- Fixing the index segment size check when writing PersistentIndex (#776)
- Fixing building UberJar (#775)
- Enabling PutRequestV4 (#774)
- Making sure ordering of tests does not matter for BlobStorage tests (#773)
- Ensuring that admin commands run only on partitions on the node (#772)
- Added 'setReplicaSealedState' to ClusterParticipant (#737) (#771)
- Fixing KMSFactory and CryptoServiceFacotry's constructor (#770)
- Aggregating most store metrics across all stores (#769)
- Fixing a bug with the use of MetricRegistry (#768)
- Make MockSSLSession constructor public (#764)
- Adding account and container names to BlobInfo and HEAD response (#763)
- Add AccessDenied error code and ambry-error-code header (#762)
- Ensure that router logs system health errors (#761)
- Adding CryptoJobHandler to assist in encryting and decrypting content (#760)
- Add support for encryption keys in the protocol (#759)
- Ensuring that the private blob properties matches that of the container (#758)
- Improving DumpIndexTool - can be used as both standalone tool or library (#757)
- Adding a tool that ensures a storage node's peers have caught up (#754)
- Changing behavior of ReplControl for empty origin list input (#753)
- Fix the test failure in serverTest. (#752)
- Change constructor for MockHelixAccountServiceFactory by default to use MockHelixPropertyStore (#751)
- Adding more fine grained percentage reporting (#750)
- Adding verification and logging to include accountId and containerId in tools (#749)
- Add blacklist for query parameters (#748)
- Fix race condition between notification and updating account. (#745)
- Adding support for log4j in tests (#744)
- Enable BlobId v2 write. (#743)
- Adds background thread to pull account updates from ZK (#742)
- Introduce an API to get catchup status of peers (#741)
- Renaming DefaultCompactionPolicy to StatsBasedCompactionPolicy (#739)
- Reflect changes in operation name in readme (#736)
- Adding a metric to track the number of bytes saved by compaction (#735)
- Fix NPE when building blobProperties without account and container (#733)
- Print partition ids when logging Put and Delete requests (#732)
- Makes notifier nullable for HelixAccountService (#730)
- Fix intermittent failure in HelixAccountServiceTest (#729)
- Enabling MessageInfoList V3 and DeleteMessageFormat V2 (#728)
- Moving a non-error in replication to trace logging (#727)
- fix a bug in accountUpdateTool (#725)
- Enable Blob props V2 and Delete Request V2 (write) (#724)
- Improves equal check for account and container (#723)
- Adds Listener for AccountService (#722)
- More unit test cases to ensure LogSegment ordering (#721)
- Adds better logging for HelixAccountService (#718)
- Introducing ability to control replication from certain DCs (#717)
- More sanity checks for compactor (#714)
- Improving the sanity check in BlobStoreCompactor (#712)
- Changing to compactAllPolicy because of a bug in stats (#711)
- Adding KeyManagementService and CryptoService interface and default impl (#710)
- Fixing a build failure due to runtime class dependencies (#709)
- Add wiring to pass AccountService to SecurityService (#708)
- Refactoring some tools (#707)
- Revert "Removes InMemoryUnknownAccountService" (#706)
- Removes InMemoryUnknownAccountService (#705)
- Adding a tool that can copy data from one store to another (#704)
- Ensure that known data chunk deletions do not initiate background deletes (#703)
- Rewriting replication test to make it more concise (#702)
- Adds two default containers for UNKNOWN_ACCOUNT (#701)
- Use padding to support different key sizes in the same segment (#698)
- Integrates AccountService with Frontend. (#697)
- Add postProcessRequest to SecurityService (#696)
- Generates meaningful blob ids in InMemory router (#695)
- Adding an API to disable requests selectively at storage server (#694)
- Moves InMemoryRouter to router module. (#693)
- PartitionManager not working (#692)
- fix error message in Utils.preAllocateFileIfNeeded (#691)
- Introduces InMemoryUnknownAccountService (#690)
- Adds unknown account and container. (#689)
- Removing issuer/creator AccountId from BlobPropertiesV2 (#688)
- CLI tool to create or update accounts. (#687)
- Addressing comments from PR 606 (Cluster wide stats aggregation (#686)
- Make ContainerBlobsResource public (#685)
- Fix an incorrect assumption made by Helix Cluster Manager (#684)
- Adding more logging to threads in case of crashes (#683)
- Fixing logging in BlobStoreStats (#682)
- Moving admin functions to frontend (#680)
- Fixing rare condition test failure in MessageFormatRecordTest (#678)
- Fix a test failure (#677)
- Add AclService interfaces (#676)
- Adding more logging to StoreStats and CompactionPolicy (#674)
- Removes HelixPropertyStoreFactory (#672)
- Giving operation names public visibility (#671)
- Making some ServerAdminTool methods public (#670)
- Adds AccountService and AccountServiceFactory interfaces. (#669)
- commenting out a faulty test (#665)
- Adding codecov (#664)
- Unit test intermittently fails. (#663)
- Adding build and license badges (#662)
- Introduces AccountService. (#661)
- Adding travis-ci config (#659)
- Fixing server tests that were failing intermittently (#658)
- Adding more trace statements for router operations (#657)
- Disable a failing test (#656)
- Making modifications for Throttler to check rate on every call (#654)
- Use java TimeUnit enum instead of raw multiplication for time unit conversions (#597) (#653)
- Refactoring of tools (#652)
- Enable CRCs in the protocol (#651)
- Introducing new MessageInfoList version with AccountId, containerId and opTime (#650)
-
- Adding new DeleteRecord V2 and DeleteRequest protocol V2 (#649)
- Adding new BlobProperties V2 with accountId and containerId (#648)
- Introduce DiskSpaceAllocator (#647)
- Blob id v2 (#646)
- Adding a config to selectively enable different compaction triggers (#645)
- Add support for dynamically updating partition sealed state. (#644)
- Additional speed up in cluster manager initialization (#643)
- Set Java 8 as the minimum supported JVM version (#642)
- Changing HardDeleter to use DiskIOScheduler instead of Throttler (#641)
- Speed up cluster manager initialization (#640)
- Storing the offset for delete check in compaction log (#639)
- Introducing support for getting peers of a given data node (#638)
- Avoid empty Get requests in replication (#634)
- Fix broken url to "Better Bloom Filter" paper (#633)
- Making some tests methods public/protected for building tools over Ambry (#631)
- Making StoreToolsMetric constructor public (#630)
- Introduces Notifier and TopicListener (#629)
- Inflates Account and Container from Json Metadata (#628)
- Adding some extra tests for the compactor (#626)
- Making some test methods and classes public for building tools on top of Ambry (#625)
- Introduces Account module. (#624)
- Exposing tests as separate jars (#623)
-
- Adding log msgs in HardDeleter. 2. Fixing throttler in store tools (#622)
- Fix 3 lgtm.com alerts: do not test reference equality, fix int overflow (#620)
- Change Ambry open source code to support PUT method. (#619)
- Shutting down all stores in a disk in parallel (#618)
- Utility to verify compaction + fixes for bugs found (#617)
- Remove blob size requirement in the frontend (#616)
- Adding store metrics to track shutdown times (#615)
- Adding getAllPartitions() to ClusterMap (#614)
- Fixing some bugs with the AdaptiveOperationTracker (#613)
- Adding a few startup log messages for HelixClusterManager (#612)
- Making the operation tracker for GET configurable (#611)
- Fix Utils#addSecondsToEpochTime() (#610)
- Handling case in recovery where PUT entry for a DELETE may not exist (#608)
- Changing server socket setup to be compatible with IPV4/6 (#607)
- Cluster wide quota stats via Helix (#606)
- Improvements to the Helix BootstrapUpgrade tool (#605)
- Fixing expiration values in IndexValue for overflow cases (#604)
- Fixing log-index recovery (#602)
- Changing log level for certain external packages to reduce verbosity (#601)
- Ensure router handles zero length buffers properly (#600)
- Fixing TTL value to -1 if expiration value is > Integer.MAX (#599)
- Fixing config files (#598)
- Fixing a cast that was causing in overflow in IndexSegment (#595)
- data loss on windows platform (#594)
- Adding a trigger compaction request at the server (#593)
- Unknown error throwed when file size matches exact 410241024 bytes (#592)
- Enhancing ambry tools (#591)
- Removed avro dependency for StatsManager (#590)
- Adding logging and metrics for compaction (#589)
- Increase netty version to 4.1.6 (#588)
- Introduces Account and Container classes. (#587)
- Bucketing for BlobStoreStats (#586)
- Convert ClusterMap gauge metrics from Boolean to Long (#585)
- Added error catching for stats publishing (#584)
- Removing auto-persistence for compactor created index (#583)
- uncommenting compactor actions (#582)
- Fixing two bugs with revalidation (#581)
- Moving stats manager and related classes to com.github.ambry.server (#580)
- Replaced Partition with MockPartitionId in StatsManagerTest (#579)
- Improving CompactionManager using cost benefit analysis (#577)
- Adding a thread to run compactions on stores (#576)
- Adding revalidation of StoreFindToken (#575)
- Added node level quota stats (#574)
- Fixing a couple of intermittent router tests (#573)
- Adding SSL latency metrics and public access logging (#572)
- Adding CompactionManagerV0 (#571)
- Introduce dynamic cluster management (#569)
- Introducing BlobStoreCompactor (#568)
- Rename ClusterManager to StaticClusterManager (#566)
- Wake up RequestResponseHandler when the last chunk becomes ready (#565)
- Adding more features to CuratedLogIndexState (#564)
- Adding support for passing service ID to NotificationSystem on deletes (#563)
- Adding more logging to triage HardDelete pause resume test failure (#562)
- Ensure network client is woken up when put channel is closed (#561)
- Fix spurious error messages when putting simple blobs. (#560)
- Spurious errors in the log for simple blob puts (#559)
- Changes to CompactionDetails and CompactionLog to change APIs and fields (#557)
- Single store blob stats v0 (#554)
- Maintaining version in StoreFindToken during ser and deser (#553)
- Adding HTTPS support to ambry-frontend (#552)
- Use CRCs to distinguish real id collisions from those due to fast replication (#549)
- Avoid empty Get requests in replication (#548)
- Blob store consumption stats (#547)
- Introducing an adaptive operation tracker (#545)
- Commenting out hard delete pause and resume test failure (#544)
- Making the index friendly to a switch of active index segments (#543)
- Moving the creation of Index and Log state in tests to a common class (#542)
- Adding new fields to IndexSegment and IndexValue (#541)
- Avoid upfront size limitation for router puts (#540)
- Adding APIs that the BlobStoreCompactor will eventually use (#537)
- Upgrading netty version to 4.1.4 (#536)
- Writing StoreFindToken in Version_2 (#534)
- Fixing build failures (#533)
- Printing progress messages in PartitionManager (#532)
- Adhering to RFC7232 (#527)
- Adding more metrics to index(bloom filter) (#526)
- Making Tools constructors public (#525)
- Introduce dynamic cluster management in Ambry (#524)
- Add a tool to map static cluster map information into Helix (#523)
- Enhancements to HardDeletes and IndexPersistor (#521)
- Adding CompactionDetails and CompactionLog (#520)
- Fixing compatibility issues with java 7 (#518)
- Restructuring tools and making some APIs public (#516)
- Adding metrics and throttling to ambry-tools (#515)
- Adding support to compare blob content across replicas to BlobValidator (#513)
- Move cleanup of failed composite blobs to the background (#512)
- Fixing Replication Bug by way of introducing StoreDescriptor having IncarnationID (#511)
- Adding GetBlobOptionsBuilder (#510)
- Using store abstractions in tools + supporting segmented logs in tools (#509)
- Fix a race condition in the ChunkFiller (#508)
- Fixing a couple of issues with startup disk failure handling (#506)
- Removing some checks from the newScheduler unit test (#504)
- Log segmentation tests (#503)
- Writing StoreFindToken and BlobReadOptions in new formats (#502)
- Ensure data chunks of a deleted composite blob get deleted (#497)
- Storing the lag of local from remote as part of the RemoteReplicaInfo (#494)
- Applying consistent styling for all java files (#491)
- Adding an ambry prefix to the failure reason header (#490)
- Index changes for log segmentation (#488)
- Fixing a bug when Log::close() is called more than once (#487)
- Improving Index to Log Comparison in DataDump Tool (#486)
- Adding DiskManager and DiskIOScheduler (Reapplying PR #474) (#485)
- Adding support in the Router and Admin to get deleted/expired blobs (#483)
- fix calculateDiskInHardStateCount logic (#481)
- Restructuring tools (#480)
- Router should not depend on the size in blob properties for puts (#479)
- Prevent DeleteManager from incrementing error metric for non-errors (#478)
- Changes to the Log to support log segmentation (#477)
- Adding ConcurrencyTestTool (#475)
- Adding DiskManager and DiskIOScheduler (#474)
- Revamping DataDump Tool and adding more operations (#473)
- Adding an abstraction for log segments (#472)
- Moving hard delete classes out of PersistentIndex (#470)
- Adding Pair class to get rid of javafx dependency (#468)
- Adding additional checks on Blob ID parsing (#467)
- Add a config for router.delete.success.target (#466)
- Range request cleanup. (#465)
- Adding an Offset class to refer to Log offsets (#464)
- Make sslConfig agnostic of ssl-enabled DCs and enable router ssl tests (#462)
- Adding RSC wrapper for InputStream (#461)
- Moving two functions from RSC to RestRequest (#460)
- Moving RSCInputStream to commons to make it more accesible (#459)
- Ensure get blob error metrics get updated correctly (#458)
- Fixing blob size header validation issue (#456)
- Add CRCs in the protocol used for communication by routers and datanodes. (#455)
- Puts occasionally get Blob_Exists error due to fast replication (#454)
- Refactoring metrics in RestServer (#453)
- Ensure ChannelClosed exception not set when channel is fully read. (#452)
- Refactor ResponseHandler class that does failure detection (#451)
- Adding REST api support for range requests (#450)
- Removing ambry-coordinator (#449)
- Fixing a serialization length compute calculation (#446)
- Write out put requests efficiently (#445)
- Adding metrics for happy path response status codes (#442)
- Adding backpressure support to NettyRequest (#440)
- Adding support for getting blob info and data in a single router call. (#439)
- Avoid incorrectly treating Blob_Deleted as a failure during replication. (#438)
- Delete successfully put data chunks of unsuccessful put operations. (#437)
- Removing CoordinatorBackedRouter (#435)
- Miscellaneous fixes to the router (#429)
- When request sending fails at the NetworkClient, notify response handler only on network errors (#428)
- Router level range request support (#427)
- Adding client and correlation id details to public access log (#426)
- Add chunking and size related metrics in the router (#425)
- Ensure operation tracker does not eliminate down replicas (#424)
- Ensure exceptions are always set for failed router operations (#423)
- Make the router resilient to unexpected errors (#422)
- Refactor get blob operation test to avoid blocking selector poll (#421)
- Prevent NetworkClient from returning duplicate failed responses (#420)
- Fixing some of the mis-configured rate metrics (#419)
- Fix gradlew script to use bash (#417)
- Cleaning up error logging and metrics (#416)
- fix for --keep-size option, it can fail if file does not exist (#415)
- Handling the way BlockingChannelInfo handle connection failures (#414)
- Avoid repeated connection initializations in the NetworkClient. (#413)
- Implementing new Metadata Content Format version for range reqs (#411)
- Always inform the failure detector when responses come in from the network client (#410)
- Use format expressions in new trace logging messages (#409)
- Adding trace logging to resource state policy (#408)
- Rename some replication metrics and fix 3-node dev configs (#407)
- Casting to Long explicitly in a test (#406)
- Fixes to README (#404)
- Fix erroneous/loose bloom filter related documentation (#402)
- Fixing some corner case bugs (#390)
- Making server codec variables configurable (#389)
- Removing POST and wiring in GetReplicas in Admin (#387)
- Performance optimizations for the router (#386)
- Adding metrics to track thread usage in Coordinator and Router (#385)
- Fixing a race condition in singleton creation (#384)
- Fix replicationLag metric name (#382)
- Logging the reason for malformed request (#381)
- Adding a metric to track the contention in requestor pool (#380)
- Changing max of router scaling unit. (#379)
- Refactoring router error code unit tests and adding additional GetOperation unit tests (#375)
- Adding cross colo related metrics for the router (#374)
- Fixes deadlock issue and refactoring in SimpleByteBufferPoolTest. (#371)
- Changing APIs of buildBlobProps and buildUm in RestUtils (#370)
- Add chunkfilling related metrics (#369)
- Downgrading client caused exception logging to DEBUG (#368)
- Suppressing more logging when client drops connections (#367)
- Ignoring the exception thrown when client closes connection. (#366)
- Removing a PutManager test that is now irrelevant (#364)
- Adding more logging to NetworkClient (#362)
- Additional metrics for the router, and some cleanup (#361)
- Add operation manager related metrics for the non-blocking router (#359)
- Miscellaneous fixes to router metrics (#358)
- Moving changes from ambry-frontend to ambry-admin (#357)
- Fixing a typo with a config in NettyConfig (#356)
- Handle exceptions in operation poll/handleResponse (#354)
- Miscellaneous changes with rest request metrics tracking (#352)
- Fixing interim disconnections in Selector (#351)
- Fixing how selector handles preparation of ssl connections (#349)
- Fixes to LastHttpContent generation in NettyResponseChannel (#347)
- Ignore inconsequential ClosedChannelException in NettyResponseChannel (#346)
- Changing invalid request state detection logic in NettyMessageProcessor. (#345)
- Adding router-server integration tests (#344)
- Adding property files for ssl (#343)
- Turn on MessageFormat BlobRecord Version2 (#341)
- Adding a Perf framework to micro-benchmark rest and router performance. (#340)
- Fix an incorrect casting in PutOperation (#338)
- Incorporate ReadableStreamChannel interface changes within GetBlobResult (#337)
- Adding security processing for POST response (#336)
- Use partition name as part of metric names in StoreMetrics. (#335)
- Fix issue with replication thread count metric (#332)
- Adding metrics to NetworkClient (#331)
- Router metrics framework (#327)
- Introduces metrics framework for NB Router. (#326)
- Adding API support for generating digests in ReadableStreamChannel (#321)
- Allow for ByteBufferInputStream to return underlying ByteBuffer (#320)
- Adding getStatus() and getHeader() APIs in RestResponseChannel (#319)
- Make gradle test print stacktrace on test failure (#318)
- A fix to the PutManagerTest (#317)
- Move server integration tests out of build target (#316)
- Removing a test assertion that is wrong. (#314)
- Fixing the way Selector handles SSL connection handshakes (#310)
- Add support for getBlob() in the router (#308)
- Fixing a bug with the way channel pipelines were abstracted (#307)
- Misc changes to address tech debt (#306)
- Fixing arraylist initialization in ReplicationManager (#305)
- Commenting out misbehaving tests (#294)
- Abstracting the creation of netty channel handlers (#293)
- Discarding a CoordinatorBackedRouter test that is no longer relevant (#291)
- Increasing the upper bound of router scaling unit count. (#290)
- Use auto port selection in Get and Delete operations. (#289)
- Fixing SSL related metric for replication with the thread pool fix (#288)
- complete router operations using a callback instead of the static method (#287)
-
- Added support for BlobNotModifiedResponse 2. Fixed Connection leak in CoordinatorBackedRouter (#286)
- Adding layout analysis python script (#285)
- Adding connection stats handler (#284)
- Fixes to replication token server tests (#283)
- Fix server test cleanup and resource consumption issues. (#282)
- Modifying the logic that gets Ambry IDs from the URI. (#281)
- Keeping connections alive on GONE and NOT_FOUND responses. (#280)
- Adding rack-aware partition allocation algorithm (#279)
- Ensure chunk buffers are reused only after associated sends are complete (#278)
- Adding junit to the notice (#277)
- GetManager implementation with GetBlobInfo support (#276)
- Fix configs in Rest, Netty and Admin (#275)
- Add support for BlobInfo requests at the server (#274)
- Making NettyRequest detect content size mismatch with size in header. (#273)
- Updated the NOTICE file (#272)
- Fix the copyright in the notice file (#271)
- Change copyright to 2016 (#270)
- Adding notice file (#269)
- Fix Readme (#268)
- Fixing UserMetadata generation in RestUtils (#267)
- Add rack info to DataNodeId/Datacenter (#266)
- Making some fixes to help quick start of Ambry (#265)
- Making changes to AmbryMain and RestServerMain (#264)
- Add auto port selection to DataNodeId (#262)
- Remove PutManager large blob test (#258)
- Adding metrics for some components in new frontend framework (#257)
- Updating gradle version to 2.12 (#256)
- PutManager initial implementation (#255)
- Reintegrating ServerTool changes (#254)
- Prepare Ambry for open source (#253)
- Added single node option to ServerTool (#252)
- Adding metrics and conversion for the new ResponseStatus codes (#251)
- Rewriting AmbryBlobStorageService to make callbacks cleaner (#250)
- Adding RestServerError Codes and misc fixes (#249)
- Wiring in IdConverter and SecurityService into AmbryBlobStorageService (#248)
- Updates to node failure detection in replication (#247)
- Adding new RestServiceErrorCode for Authorization failure (#246)
- Making the IdConverter interface async (#245)
- Adding SecurityService and DefaultSecurityService for Ambry (#244)
- Changes to not aggressively replicate from nodes that are down. (#243)
- Fixing a bug in HealthCheckHandler that made requests hang on keep-alive (#241)
- Adding IdConverter and IdConverterFactory interfaces. (#240)
- Added DeleteManager and DeleteOperation. (#239)
- Adding support for GET of sub-resources. (#238)
- Removing NettyServerDeployer to simplify code in NettyServer (#237)
- Adding Integration test for HealthCheck (#235)
- Simplifying the APIs and usage of ByteBufferAsyncWritableChannel. (#234)
- Support for multipart POST via the RestServer (#233)
- Adding a new method prepare() in RestRequest (#232)
- Adding support for Cookies (#231)
- Use the NetworkClient in the router; remove deprecated classes (#230)
- Fixing a failing test in AsyncRequestResponseHandlerTest. (#229)
- Reformatting code in rest and router package (#228)
- Adding Integration tests for ambry-admin and ambry-frontend (#227)
- Rework Router-Network interaction (#226)
- Adding NettyMultipartRequest to handle decoding of multipart requests. (#225)
- Adding PublicAccessLogRequestHandler and HealthCheckReqeustHandler to the new frontend framework (#224)
- Changing return type of getArgs() in RestRequest. (#223)
- Introduce a factory class for generating Selector and ConnectionManager for pluggability. (#222)
- Adding OperationTracker for NB Router. (#221)
- Removing ReadableStreamChannel.read() (#220)
- Fixing ambry-frontend (#218)
- Adding keep-alive support (#217)
- Introducing Ambry non blocking frontend (#216)
- Rest response channel cleanup (#215)
- Adding support for Metadata Blob (#214)
- Rest response channel upgrade (#212)
- Non-blocking Router Framework (#211)
- Stripping off UserMetadata prefix on storage (#210)
- Separate out SocketServer related metrics from NetworkMetrics (#209)
- Change to FutureResult to accept Exception instead of RuntimeException (#208)
- Replication fix to add thread pools per remote datacenter (#207)
- Fix a bug with replication token persistence (#206)
- ReadableStreamChannel interface change (#204)
- Changing UserMetadata to be added to headers (#203)
- Buffer pool for router. (#202)
- Request response handler interface change (#201)
- Fix build failures (#200)
- Logging and end-to-end request metrics for front end framework. (#199)
-
- Adding documentation for SSLTrans (#198)
- Bringing back the old PutRequest API as deprecated (#197)
- Store ttl unit test. (#196)
- Bumping upper bound for replication fetch size (#195)
- PutRequest protocol change to support large blobs (#194)
- clear up the ServerTest (#193)
- Fixing client side ssl metrics (#191)
- Tool to verify hard deletes, with some improvements (#190)
- GET, POST, DELETE and HEAD in front end. (#189)
- update Send.writeTo() interface to return bytes written (#187)
- address more comments for pull request 185 (#186)
- add more metrics for ssl (#185)
- Change the unit from nanosecond to second for one parameter in ambry tool (#184)
- Ensure segment rollover checks are done during store deletes (#183)
-
- Adding more trace logging (#182)
- update ambry tool to support ssl (#180)
- Fixes to Selector and SocketServer and BlockingChannelConnectionPool (#179)
- Printing ssl params (#178)
- support setting ssl protocol and cipher suit to sslSocket in client side (#177)
- Fixing minor code issue for coordinator operation (#176)
- Fixing minor test issue (#175)
- ServerTest Fix (#174)
- prevent crash if setting the number of inter colo replication threads to 0 (#173)
- Response handler rewrite (#172)
- address comments from Sriram about the SSLBlockingChannel (#171)
- Adding metrics reporter for RestServer (#170)
- fixed file not found error in unit test (#169)
- Server side SSL changes (#168)
- Fat jar build file changes (#167)
- Adding a Coordinator backed Router (#166)
- remove per node metrics in Selector (#165)
- Fixing ServerTest (#164)
- Support Blocking SSL client used in replication and coordinator (#163)
- Fixing ServerTest (#162)
- Fixing the intermittant failures in ambry-network tests. (#161)
- hard delete crash recovery fix (#160)
- fix a bug to stop killing the processor thread (#159)
- Adding SSL support for Data Node (#158)
- Make hard delete shut down gracefully. (#157)
- Logging for ambry-rest and ambry-admin (#156)
- Fix package names (#155)
- 1.Adding new utilities to DumpData. 2. Fixing BlobValidator tool (#154)
- Handle closed channel exceptions; use atomic references for hard delete tokens (#153)
- Adding more logging during invalidation to log remote replica info (#152)
- Fix hard delete shutdown issue (#151)
- Integrate Selector (#150)
- Add more logging and fix a metric for hard deletes (#149)
- Fixing validation of corruption in storekey during message stream validation (#148)
- Fixing empty message info list written to store (#147)
- Fix the way exceptions are printed during hard delete iteration (#146)
- Disabling testFindDeletedEntries test for now (#145)
- Fix a test (#144)
-
- Adding more logging to message sieving. 2. Some trivial fixes in tools (#143)
- change the max disk capacity to 10TB (#142)
- Fix the hard delete end to end test (#141)
- Fix hard delete server test hang issue, but disable it for now until we fix the root cause. (#140)
-
- ServerTool to upload files to ambry to a specific partition 2. Fixing network tests which was hanging (#139)
- add new metric in coordinator to record the blob already exists error (#138)
- Introducing ambry-admin and ambry-rest modules (#137)
- add trace log to verify the processing time for metadate exchange, relat... (#136)
- Ignoring corrupt blobs during replication (#135)
- Added an index consistency checker (#134)
- Changes for hard deletes (#133)
- Changes to consistency checker in admin tools (#132)
- add more log to analyze the time consuming for replication process (#131)
- Avoid looking up a deleted key's delete status when processing replication requests (#130)
- Fix cross colo get policy to correctly ignore down replicas (#129)
- add ingraph metric to monitor the total time cost for replication (#128)
- Calculate segment entry sizes correctly (#127)
- More logging in needToRolloverIndex (#126)
- Fix to ignore down replicas for operations (#125)
- Use index end offset to synchronize store operations (#123)
- Print blob ids more judiciously (#122)
- Adding Consistency Checker Tool (#121)
- Fixing reseting of blob output (#120)
- Adding getBlob, getBlobProperties, getUserMetadata to AdmintTool (#119)
- Fix race conditions with deletes (#118)
- Persist token periodically (#117)
- Ensure journal always has the last segment's entries (#116)
- Fix issues in replication (#115)
- Adding support for list of blobs in BlobValidator and some format fixes (#114)
- Fixes to the index (#113)
- Unit tests, perf tool fix and formatting (#112)
- Addressing feedback for AdminTool and BlobValidator (#111)
- Handling the case where number of nodes to replicate from is 0 (#110)
-
- Fixing and adding new features to DumpData 2. Adding BlobInfoTool (#109)
- Fix some issues in ReplicationManager (#108)
- Adding more logging to track unknown format error (#107)
- Change defaults for certain timeouts (#106)
- Better logging in failure detection (#105)
- Register the metric correctly (#104)
- Fixes for metrics (#103)
- Miscellaneous fixes (#102)
- Fix failure detection and socket connect timeout (#101)
- Adding new metrics to track cross colo calls (#100)
- Adding more logging to crosscoloParallelOperationPolicy (#99)
- package cleanup and add basic interface for non blocking implementation (#98)
- CrossDCGetOperationPolicy (#97)
- Fix datanode and disk retry backoff values (#96)
- Add an option to getRequest to return expired blobs (#95)
- Fix resource state metrics (#94)
-
- Fixing appendFrom in Log to read entire bytes. 2. Add more checks for index update. 3. Fixing multiple puts and deletes (#93)
- Changing GetPolicy to SerialOperationPolicy (#92)
- Handle dynamic failures (#91)
- Logging and metric fixes (#90)
- Tweaking timeouts (#89)
- ResponseFailureHandler class and related changes to enable cluster map soft states (#88)
- Adding more log statements to debug latency issues with getPolicy of 2 (#87)
- Fix a comment about the default for coordinator operation timeout (#86)
- Adding more logging to debug getPolicy of parallelism 2 (#85)
- Fixing error message (#84)
- small logging cleanup (#83)
-
- Ensure that store operations catches other Exceptions and converts th... (#82)
- Quiet logs. Should not WARN now that we have multiple get requests outst... (#81)
- Change how we handle read from blocking channel in ByteBufferInputStream (#80)
- Remove debug logging (#79)
-
- Change BlockingByteChannel to return the size of the stream. This is ... (#78)
- more logging (#77)
- add debug logging (#76)
- Fixing how read from blocking channel works (#75)
- changing logging to info for better debugging (#74)
- adding trace for debugging (#73)
- Replication tweaks (#72)
- Ensure mountpaths are absolute paths (#71)
- Fixing Long compare to work with Java 6 (#70)
- Clean up replication, metrics and code review feedback for previous review (#69)
- Fix coordinator test to corrupt blob id string sufficiently (#68)
- Replication changes to batch pull changes from partitions (#67)
- Change Get Policy to have two requests outstanding in parallel (#66)
- Enable a way to control proxy calls for all operations (#65)
- Fixes (#64)
- Remove printStackTrace calls from pull 59 (#63)
- Added basic test for replica metadata request and some logging to debug a bug ... (#62)
- fixes (#61)
- Fixes to journal restore and multiple deletes (#60)
- Replication changes for materializing streams and doing batch gets and replica metadata request (#59)
- fix bug to ensure journal is populated properly on re start (#58)
- Fix bug and add more logging (#57)
-
- Add better logging for replication (#56)
- Add trace logging for replication throttling (#55)
- server fixes (#54)
- Cleaner logging in Coordinator (#53)
-
- Ensure all formats can be backwards compatible (#52)
- Change blob id to use base64 (#51)
- Minor fixes (#50)
- bug fixes and improvements (#49)
- Index fix to remove strong constraint check (#48)
- Fix for add replica and other improvements (#47)
-
- Handling error scenarios in Coordinator 2. Adding new metrics to track server startup time and shutdown time (#46)
- Adding ratio of Current to Total capacity used Store metrics (#45)
- fixes and cleanups (#44)
- Fixing ReplicaLag metric name (#43)
-
- Adding ReplicaLag metrics 2. Ambry-353: Change how coordinator deleteBlob handles 'not found' from all servers (#42)
- Update metric to not use ':' since it is not supported in LI (#41)
- Metrics cleanup, replication fix and add constraint checking (#40)
- fix logging (#39)
- Making Coordinator implement Closeable interface (#38)
- Changing getRandomLong to take in a Random Object (#37)
- Fix operation corruption metric bug (#36)
- Adding Metrics to Ambry Server to track Latency and Rate based on Blob size (#35)
- Adding Connection Pool Metrics to BlockingChannelConnectionPool (#34)
- Ambry server changes (#33)
- Adding Public Access log and fixing connection leaks on channel disconnect (#32)
- Fixes to ServerTest and ReplicaThread (#31)
- Config Property files for 3 servers (#30)
- Clean up NotificationSystem interface (#29)
-
- Update coding standards (#28)
- Comment out Java 7 dependency. Fix intermittent test failure. (#27)
- Fix name of some coordinator request metrics. (#26)
- Fix error in data format corrupt error metric (#25)
- Build and start JMX reporter in coordinator for metrics. (#24)
- fixes (#23)
- Added coordinator and clustermap metrics. (#22)
-
- Fix ordering of messages during get (#20)
- Fixes for replication and notification system (#19)
-
- Make all error logging in Operations to log the exception (#18)
- Fixes to replication (#17)
- Add toString to and trivial tests for BlobProperties (#16)
- BlobProperties cleanup (TTL and UserMetadataSize) (#15)
- Replication changes, new connection pool, more metrics and bug fixes (#14)
- Replication part 1 changes and partition assignment change (#13)
- Add metrics, addpartition tool and minor changes to Verifiable Properties (#12)
- Minor clean up of coordinator and clustermap (#11)
- Store recovery, make java 6 changes and linux cleanup (#10)
- Add Coordinator to Ambry. (#9)
- Add metrics, on disk index, error handling, lot more unit tests (#8)
- Fix clustermap test so build is not broken (#7)
- Completed message format + store integration + store unit tests (#6)
- adding missing file (#5)
- Initial cluster map commit. (#4)
- Adding configs and java docs (#3)
- Add logging to ambry (#2)
- changes to fix junit and other build issues (#1)