Commit Graph

  • 1d8351f921 Added importFromArchive() feature CalDescent 2021-09-12 10:10:25 +01:00
  • 6a55b052f5 Fixed some bugs found in unit testing. CalDescent 2021-09-12 09:57:12 +01:00
  • 2a36b83dea Removed BLOCK_LIMIT_REACHED result from the block archive writer. CalDescent 2021-09-12 09:55:49 +01:00
  • 14acc4feb9 Removed maxDuplicatedBlocksWhenArchiving setting as it's no longer needed. CalDescent 2021-09-12 09:52:28 +01:00
  • 0657ca2969 atStatesMaxLifetime increased to 5 days CalDescent 2021-09-09 17:46:19 +01:00
  • e90c3a78d1 Updated default "data" field text in the API documentation, to match the value the UI uses. CalDescent 2021-09-09 15:12:28 +01:00
  • 63c9bc5c1c Revert "Workaround for block 535658 problem" CalDescent 2021-09-09 12:55:21 +01:00
  • a6bbc81962 Revert "Merge pull request #58 from QuickMythril/536140-fix" CalDescent 2021-09-09 12:55:08 +01:00
  • b800fb5846 Treat a REGISTER_NAME transaction as an UPDATE_NAME if the creator matches. CalDescent 2021-09-09 12:54:01 +01:00
  • 172a629da3 Added comments CalDescent 2021-09-05 23:32:11 +01:00
  • 6d1f7b36a7 Merge pull request #58 from QuickMythril/536140-fix CalDescent 2021-09-05 23:16:08 +01:00
  • 673ee4aeed Update Block.java QuickMythril 2021-09-05 18:07:11 -04:00
  • 25b787f6f2 Add files via upload QuickMythril 2021-09-05 18:06:32 -04:00
  • 6b74ef77e6 Increased log level of invalid transaction message. CalDescent 2021-09-05 21:25:38 +01:00
  • 278201e87c Workaround for block 535658 problem CalDescent 2021-09-05 21:24:02 +01:00
  • 703cdfe174 Added block archive mode CalDescent 2021-09-04 19:40:51 +01:00
  • 02988989ad Reduced online account signatures min and max lifetimes CalDescent 2021-09-03 10:11:02 +01:00
  • 25c17d3704 atStatesMaxLifetime reduced from 14 days to 24 hours CalDescent 2021-09-03 10:04:04 +01:00
  • 9b4d832d17 Default minPeerVersion set to 0.1.0. TODO: revert this if ever merged into the main repo. CalDescent 2021-09-01 09:11:50 +01:00
  • 52ab19dec6 Added method and name to the /site/upload endpoint params. CalDescent 2021-09-01 09:11:03 +01:00
  • 9973fe4326 Synchronized LatestATStates, to make rebuildLatestAtStates() thread safe. CalDescent 2021-08-28 11:00:49 +01:00
  • 2479f2d65d Moved trimming and pruning classes into a single package (org.qortal.controller.repository) pruning-mode CalDescent 2021-08-25 18:57:04 +01:00
  • 9056cb7026 Increased atStatesPruneBatchSize from 10 to 25. CalDescent 2021-08-25 18:54:10 +01:00
  • cd9d9b31ef Prune ATStatesData as well as the ATStates when switching to pruning mode. CalDescent 2021-08-25 18:53:25 +01:00
  • ff841c28e3 Updated tests to use the renamed method. CalDescent 2021-08-25 18:51:45 +01:00
  • ca1379d9f8 Unified the code to build the LatestATStates table, as it's now used by more than one class. CalDescent 2021-08-25 18:50:41 +01:00
  • 5127f94423 Added bulk pruning phase on node startup the first time that pruning mode is enabled. CalDescent 2021-08-23 21:17:51 +01:00
  • f5910ab950 Break out of the AT pruning inner loops if we're stopping the app. CalDescent 2021-08-22 15:21:18 +01:00
  • 22efaccd4a Fixed NPE introduced in earlier commit. CalDescent 2021-08-22 15:20:28 +01:00
  • c8466a2e7a Updated AT states pruner as it previously relied on blocks being present in the db to make decisions. As a side effect, this now prunes ATs up the the pruneBlockLimit too, rather than keeping the last 35 days or so. Will review this later but I don't think we will need the missing ones. CalDescent 2021-08-22 15:20:11 +01:00
  • 209a9fa8c3 Rework of Blockchain.validate() to account for pruning mode. CalDescent 2021-08-22 15:18:11 +01:00
  • bc1af12655 Prune all blocks up until the blockPruneLimit CalDescent 2021-08-22 15:17:46 +01:00
  • e7e4cb7579 Started work on pruning mode (top-only-sync) CalDescent 2021-08-22 08:01:02 +01:00
  • 1b39db664c Added missing ATStatesHeightIndex to the reshape code. CalDescent 2021-08-27 08:54:46 +01:00
  • 1a4ec662a5 Add a height index to the ATStates table. DO NOT MERGE. add-atstates-index CalDescent 2021-08-21 15:44:22 +01:00
  • 7397b9fa87 Added more detail to exception message. CalDescent 2021-08-21 08:35:12 +01:00
  • 5bed5fb8fd Removed unnecessary code in ArbitraryResource.uploadFileAtPath() CalDescent 2021-08-21 08:34:46 +01:00
  • fd795b4361 Don't attempt to cleanup the filesystem if a build is in progress. CalDescent 2021-08-20 20:19:51 +01:00
  • b2c0915a71 Removed accidentally duplicated code CalDescent 2021-08-20 20:17:02 +01:00
  • 095083bcfb Use lowercase directory names for consistency CalDescent 2021-08-20 19:54:09 +01:00
  • 4ba72f7eeb Regularly clean up old and unused files/folders in the temp directory CalDescent 2021-08-20 19:27:42 +01:00
  • 6cb39795a9 Removed requirement to have connected peers in order to cleanup directories. CalDescent 2021-08-20 17:00:53 +01:00
  • 00ba16f536 Fixed incorrect ArbitraryTransactionTransformer layout. CalDescent 2021-08-20 16:59:05 +01:00
  • 988a839623 Improved response value of ArbitraryDataFile.deleteAllChunks() as it was inaccurate. CalDescent 2021-08-20 16:58:43 +01:00
  • 8fa61e628c Delete files related to transactions that have a more recent PUT CalDescent 2021-08-20 16:56:49 +01:00
  • 8f3620e07b Fixed bug introduced in commit 51b1256 CalDescent 2021-08-20 13:44:30 +01:00
  • 190f70f332 Removed unused, buggy code in HSQLDBArbitraryRepository.save() CalDescent 2021-08-20 13:01:55 +01:00
  • 6730683919 Added arbitrary data cleanup manager CalDescent 2021-08-20 12:55:42 +01:00
  • 51b12567e8 Switched ArbitraryDataFile.filePath from String to Path CalDescent 2021-08-20 09:17:36 +01:00
  • d01cdeded8 Added pagination to ArbitraryDataManager CalDescent 2021-08-20 07:58:55 +01:00
  • d22a03f1a5 Fixed misleading exception string. CalDescent 2021-08-20 07:51:58 +01:00
  • ab0aeec434 Default method of serving websites switched from signature to name. CalDescent 2021-08-20 07:51:27 +01:00
  • 47ff51ce4e Use a random last reference on the very first transaction for an account CalDescent 2021-08-20 07:49:05 +01:00
  • 1d62ef357d Check for null last references at the beginning of the process when creating an arbitrary tx. CalDescent 2021-08-19 09:10:13 +01:00
  • 59ef66f46d Handle shutdowns when zipping a large number of files. CalDescent 2021-08-19 08:48:39 +01:00
  • 77479215a6 Throw an exception if a patch file doesn't exist. CalDescent 2021-08-18 20:32:47 +01:00
  • 11da1f72b1 Added convenience method to make the code more readable. CalDescent 2021-08-18 20:30:00 +01:00
  • 6375b9d14d Fixed bug in getLatestTransaction() filtering. CalDescent 2021-08-18 20:27:18 +01:00
  • 42bc12f56d Call cleanupQueues() from the Controller CalDescent 2021-08-18 16:25:47 +01:00
  • 8515112811 Fixed unused variable issue CalDescent 2021-08-18 16:24:37 +01:00
  • bedb87674b FAILURE_TIMEOUT set to 5 minutes CalDescent 2021-08-18 16:24:13 +01:00
  • 029c038a49 Catch runtime exceptions (e.g. IllegalStateException) when using the arbitrary data reader/writer. CalDescent 2021-08-18 16:23:46 +01:00
  • 95e905a5ae If a build fails, prevent any rebuilds for 5 minutes. CalDescent 2021-08-18 16:04:57 +01:00
  • 8a8ec32f2c Added java-diff-utils to pom.xml CalDescent 2021-08-18 09:59:56 +01:00
  • cd958398af Exclude all data* paths from gitignore. CalDescent 2021-08-18 09:59:12 +01:00
  • 2eedafd506 Log the error if a build fails. CalDescent 2021-08-18 09:58:59 +01:00
  • 9a88c0d579 Apply the unified-diff patch when combining layers. CalDescent 2021-08-18 09:58:30 +01:00
  • cb6fc466d1 Create a "unified-diff" patch using java-diff-utils instead of including the entire modified file. I still need to test how well this works with binary files. CalDescent 2021-08-18 09:57:44 +01:00
  • a6154cbb43 Don't allow a new layer to be created if it matches the existing state. CalDescent 2021-08-18 07:51:50 +01:00
  • 9c20967d24 Catch NPE seen a couple of times in Systray.setTrayIcon() CalDescent 2021-08-18 07:51:26 +01:00
  • 79bbadad2f Initial implementation of arbitrary data build queue CalDescent 2021-08-18 07:50:45 +01:00
  • c3b44cee94 Fixed bugs when computing directory digest. The order was being lost when adding to the second List, which was producing different hashes on different systems. It also doesn't make sense to convert paths to lowercase, given that we want our validation to be case sensitive. CalDescent 2021-08-18 07:38:08 +01:00
  • 1968496ce1 Invalidate the cache if hash validation fails, so that it can be rebuilt next time. CalDescent 2021-08-17 09:30:27 +01:00
  • e1feb46de9 Put test data in a separate folder to real data. CalDescent 2021-08-17 09:08:03 +01:00
  • f51a082049 Validate the previous state's hash each time a new layer is applied. CalDescent 2021-08-17 09:07:46 +01:00
  • 0f1927b4b1 Take a hash of the previous state's directory structure and file contents, and then include that hash in the patch metadata (when creating a new patch). This allows the integrity of the layers to be validated as each one is applied. CalDescent 2021-08-17 08:43:08 +01:00
  • 9baccc0784 Improved HTTP response generation when serving websites. CalDescent 2021-08-16 22:40:55 +01:00
  • 95c9cc7f99 Added ArbitraryDataCache CalDescent 2021-08-16 22:40:05 +01:00
  • 0ed8e04233 Arbitrary data metadata classes moved to their own package. CalDescent 2021-08-15 21:54:21 +01:00
  • b46c328811 Fixed bug in FilesystemUtils.copyAndReplaceDirectory() CalDescent 2021-08-15 21:50:19 +01:00
  • c7d88ed95b Added "cache" file to the .qortal metadata folder. CalDescent 2021-08-15 21:49:45 +01:00
  • 94da1a30dc When merging two states, validate that the transaction signature we are using for the "before" layer matches the "previous transaction signature" that is baked into the "after" layer. CalDescent 2021-08-15 20:27:16 +01:00
  • 219a5db60c Fixed circular bug in ArbitraryDataMetadata.getPreviousSignature() CalDescent 2021-08-15 20:21:47 +01:00
  • a5cfedcae9 Exclude the .qortal metadata directory in all diffs. Also improved logging. CalDescent 2021-08-15 20:02:14 +01:00
  • 9b8a632f37 Include the .qortal folder in the merge output, since it will be needed for validation. We may choose to exclude it from the final output path, but for now it is left there to make debugging easier. CalDescent 2021-08-15 19:55:56 +01:00
  • be0426d9a2 Improved logging CalDescent 2021-08-15 19:19:55 +01:00
  • 8fac0a02e5 Use the /.qortal/patch file to apply differences when merging together two layers, rather than walking through the file tree like we did before. CalDescent 2021-08-15 18:49:30 +01:00
  • fa696a2901 Log exceptions when publishing data updates. CalDescent 2021-08-15 18:37:27 +01:00
  • f5615b1c54 Don't exclude hidden files in the zips, as the .qortal folder needs to be included. CalDescent 2021-08-15 17:45:37 +01:00
  • 9850c294d1 Fixed various issues relating to syncing data for transactions without any chunks. CalDescent 2021-08-15 11:28:26 +01:00
  • 8929f32068 No longer creating the ".removed" files. CalDescent 2021-08-15 10:43:00 +01:00
  • 3019bb5c97 Enforce minBlockchainPeers in ArbitraryDataManager, as there is no point in trying to request data files when we don't have the minimum number of peers. CalDescent 2021-08-15 10:39:00 +01:00
  • 95044d27ce Fixed NPE caused by having an arbitrary transaction with no chunks (which is expected if the total data size is less than the chunk size). CalDescent 2021-08-15 10:32:37 +01:00
  • 16ac92b2ef Write patch metadata to a file inside a hidden ".qortal" folder which is included with each patch. This can be used in place of the existing ".removed" placeholder files to track removals. CalDescent 2021-08-15 10:13:32 +01:00
  • f095964f7b Fixed edge case. CalDescent 2021-08-14 18:28:22 +01:00
  • cfba793fcf Fixed bugs in ArbitraryDataFile, introduced when switching to the new temporary path. CalDescent 2021-08-14 18:10:59 +01:00
  • c50a11e58a Cleanup intermediate paths in ArbitraryDataWriter. CalDescent 2021-08-14 17:32:25 +01:00
  • a7282a5794 Renamed encrypted and zipped files. CalDescent 2021-08-14 17:31:58 +01:00
  • efaf313422 When creating an ArbitraryDataFile from a path, make sure to move the file to the correct location within the data directory. CalDescent 2021-08-14 16:58:10 +01:00
  • d9f5753f58 Ensure parent directories exist when creating a diff. CalDescent 2021-08-14 16:55:19 +01:00