1
0
Fork 0
mirror of synced 2024-09-20 11:27:56 +12:00
Commit graph

51 commits

Author SHA1 Message Date
Michael Drury
99607ca06e Reverting try twice change to writethrough. 2023-05-30 20:45:10 +01:00
Michael Drury
5249148d6c Updating writethrough test to be aware of the double attempt locks. 2023-05-30 20:20:22 +01:00
mike12345567
7c7bd4d5cb Fix for debugging with webstorm the old way (if desired), updating the builder middleware to be more multi-dev capable, ignoring 409s when attempting to update the last updated at for apps (if multiple devs hit at same time, only use one) also updating writethrough cache to retry once, with the extended TTL on locks, plus the multi-dev collab it can take a minute to update usage quota doc when a lot of updates occur at once. 2023-05-30 17:41:20 +01:00
Rory Powell
e1a147e823 Merge branch 'master' into develop 2023-05-03 16:06:42 +01:00
adrinr
b128306262 Increase writethrough cache timeout 2023-04-19 16:47:48 +01:00
mike12345567
ada052e043 Merging in develop - fixing some test cases which broke in the process. 2023-04-12 10:56:21 +01:00
Rory Powell
976b3a55ca Update logging to support dd trace attributes (#10086)
* Update logging middleware to integrate with pino for console logging

* Remove elastic apm references, use updated core middlewares

* Remove redundant LOG_LEVEL definitions

* Remove no longer needed jest logging overrides

* lint

* Backwards compat between console log helpers and pino

* Configurable DISABLE_HTTP_LOGGING

* Don't log 4xx as errors

* Remove redundant ENABLE_4XX_HTTP_LOGGING

* Cleanup migrations and event logging

* Improve bb-alert logging

* Add DISABLE_HTTP_LOGGING to helm chart

* Add ops endpoints for testing

* Disable http logging in dev

* Backwards compatible tracing implementation

* Naming update on http logging env var

* lint

* Update packages/backend-core/src/environment.ts

Co-authored-by: Adria Navarro <adria@revityapp.com>

* Merge

* Lint

* Fix console.warn failing mock by replacing with alerts mock instead

* Lint

---------

Co-authored-by: Adria Navarro <adria@revityapp.com>
2023-04-04 15:08:46 +01:00
mike12345567
24fc72657d Fixing all broken test cases after breaking out context fully from jestSetup/backend-core jest loading. 2023-03-30 16:35:25 +01:00
adrinr
84d450a931 Renames 2023-03-07 12:47:27 +01:00
adrinr
49493d80be Use name suffix instead of complex key object 2023-03-07 12:45:20 +01:00
adrinr
4d854ea5a7 Merge remote-tracking branch 'origin/develop' into bug/budi-5901-usage-quota-document-conflicts-can-cause 2023-03-07 12:41:58 +01:00
mike12345567
2335932978 Some updates to core types - used in pro update. 2023-03-02 10:20:49 +00:00
adrinr
dded8beaeb Fix writethrough falling behind 2023-03-01 13:16:57 +01:00
adrinr
b922fc3b00 Improve testing 2023-02-28 15:03:18 +01:00
adrinr
c1462a7c9c Clean code 2023-02-28 14:54:43 +01:00
adrinr
c254c565e4 Use redlock for writethrough 2023-02-28 14:54:34 +01:00
Rory Powell
ae9979929a Enable higher concurrency and resiliency in worker tests 2023-02-13 11:57:30 +00:00
adrinr
11a7742d90 Cleanup 2023-02-03 19:23:36 +00:00
adrinr
6dab44a569 Clean code 2023-02-03 09:37:34 +00:00
adrinr
11fa2313f1 Undone user cache changes 2023-02-01 17:20:48 +00:00
adrinr
c7d0a077be Replace faker for chance 2023-02-01 17:11:50 +00:00
adrinr
e4c898c327 Use test-containers for backend-core tests 2023-01-27 11:43:36 +00:00
Adria Navarro Redo
b94546b1a1 Fix user test 2023-01-26 18:20:21 +00:00
Adria Navarro Redo
9242470f6f Fix snapshots test 2023-01-26 18:20:21 +00:00
Rory Powell
fba7ef26ad Replace ts-jest with swc/jest (#9289)
- Add swc dependencies
- Add transform change to jest.config.ts
- Replace `export =` with `export default` in src code to enable code coverage to work with swc transformer
- Restructure backend-core errors package to allow for exporting error classes with ESM syntax
- Update backend-core to no longer use `export =`, export individual packages instead of replacing with `export default` for backwards compatibility
- Update event publishers to use `export default` - this was required for the `jest.spyOn` usage inside backend-core common mocks
- Restructure some jest.mock usages where declaring the jest.fn as a variable outside of the package mock threw an error
2023-01-11 09:37:37 +00:00
mike12345567
90362b65c1 Disabling js interop in Typescript build of backend-core and worker, fixing build issues. 2022-11-26 14:46:01 +00:00
mike12345567
d3c4c99e16 Complete conversion of backend-core to Typescript. 2022-11-24 18:48:51 +00:00
mike12345567
58e59bfacc Updating PouchLike to be an interface in types, with its impl stored in backend-core, now called Database. 2022-11-17 14:35:03 +00:00
mike12345567
e7e2d91fef Merge branch 'develop' of github.com:Budibase/budibase into feature/replace-pouch 2022-11-15 16:45:25 +00:00
Rory Powell
9973f2e161 Bump jest and ts-jest to be consistent across backend packages to fix CI issue, test config updates 2022-11-14 22:55:47 +00:00
mike12345567
b4b471e054 Re-jigging things a bit, hiding as much of the couch/pouch stuff away. 2022-11-11 12:46:32 +00:00
mike12345567
c744d23832 Major update - removing the use of context for PouchDB instances, swapping knowledge of PouchDB to the PouchLike structure that replaces it. 2022-11-09 16:53:42 +00:00
Rory Powell
9face50a07 Fix build failure around PouchDB type 2022-10-25 09:02:55 +01:00
mike12345567
b803a3fd93 Replacing all plural TS enumerations with singular - this involves a major rename of the DocumentTypes. 2022-08-11 13:50:05 +01:00
Rory Powell
3b5abda2cf Rate limit served:X events 2022-08-08 15:44:29 +01:00
Andrew Kingston
d9dacbc901 Use warn rather than info when notifying about ignored conflicts 2022-07-25 12:23:30 +01:00
Andrew Kingston
f82b407f30 Ignore 409s in write-through cache 2022-07-25 12:17:40 +01:00
mike12345567
0bf9072cd1 Fixing an issue where periodically the cache state of the couch revision gets out of sync and need to update it for cache to be able to write again. 2022-06-24 17:41:17 +01:00
mike12345567
b5f0d7c4fd Adding case to handle multi-DB setups, to confirm store same doc ID to different databases and they run in different cache keys. 2022-06-24 14:28:45 +01:00
mike12345567
389856795d Updating writethrough cache a bit to make sure it implements the PouchDB API properly. 2022-06-24 13:34:00 +01:00
mike12345567
cd6a92994b Fixing test case and review comments. 2022-06-24 12:08:29 +01:00
mike12345567
56956dba4f Adding a class wrapper incase using get/put functions multiple times, functions like the PouchDB constructor. 2022-06-23 20:27:20 +01:00
mike12345567
b4bed6c0ce Updating redis to use typescript and adding the option of a writethrough cache which can be used, by passing a DB and a value to be written + a delay for writes. 2022-06-23 20:22:51 +01:00
Rory Powell
7ebfaf8a31 Failover protection with event cache 2022-05-31 21:04:41 +01:00
Rory Powell
a9ab8b2629 Lots of failure handling and caching 2022-05-30 21:46:08 +01:00
mike12345567
8fbbba16ee Updating cache to 1 hour. 2022-05-23 16:06:47 +01:00
mike12345567
76f19def26 Moving the withCache function to backend-core so that it can be shared, as well as adding a cache busting function which can be used when one of the checklist configs changes. 2022-05-23 15:03:52 +01:00
mike12345567
192fb1307e Initial version of memory leak protection, making sure that PouchDB databases are closed correctly after use, using a combination of closures wrapping DB gets (this replaces the getDB, leaving only a dangerousGetDB function which can be used in very very specific scenarios) and then closing the DB as part of CLS hooked functions finishing. Also moving the GlobalDB init to the tenancy middleware as this is used everywhere in the worker/app services - means that not all getGlobalDB calls require an async closure around them. 2022-04-19 19:42:52 +01:00
Rory Powell
41144db055 Remove remaining direct usage of CouchDB. Add common pouch config to backend-core 2022-04-19 16:45:27 +01:00
mike12345567
8f6e55e65b Adding controllers for row, query and applications public APIs. 2022-02-23 18:31:32 +00:00