Commit Graph

31 Commits

Author SHA1 Message Date
ItalyPaleAle 0b340d11d3 Cleanup interval uses metadata table to avoid multiple executions simultaneously
Also bug fixes

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-12-01 19:31:23 +00:00
ItalyPaleAle b52482b394 Use a metadata table for postgres to store migrations
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-30 23:02:58 +00:00
ItalyPaleAle 15976110c6 💄
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-22 04:53:24 +00:00
ItalyPaleAle 1c3a0a1ea2 Fixed query
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-22 03:22:54 +00:00
ItalyPaleAle 2e7d5e7df6 Added garbage collection
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-22 02:05:07 +00:00
ItalyPaleAle c54286a60d Added TTL support for postgres
TODO: garbage collection
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-22 00:24:04 +00:00
ItalyPaleAle ca729de1a9 Add expiredate column to state table
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-21 23:22:57 +00:00
ItalyPaleAle 1e728597b4 Misc refactorings
- Removed `state.DeleteWithOptions` and `state.SetWithOptions` which were useless at this point (likely a leftover from when there were retries)
- Some improvements in etag handling in postgres
- Other minor refactorings

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-17 16:29:29 +00:00
Bernd Verst b7d56fd7d6 Postgresql: allow custom table table
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-11-16 20:13:57 -08:00
Bernd Verst 3af0953516 Postgres State Store: Add Support for First-Write concurrency
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-11-16 20:13:57 -08:00
Bernd Verst ede060959a
Refactors all state store to standardize metadata parsing (#2257) 2022-11-05 15:36:44 -07:00
Alessandro (Ale) Segala ca3e80b76b
Updated depguard linter config (#2245)
* Updated depguard linter config

1. Add older (pre-v4) versions of `github.com/cenkalti/backoff` to the denylist
2. Add `github.com/agrea/ptr` to the denylist (use `github.com/dapr/kit/ptr` instead)
3. Fixed error messages for denied deps

Port of dapr/dapr#5438

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* ⚙️🧹

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* Remove some github.com/pkg/errors

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* make modtidy-all after rebase

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
2022-11-03 22:19:21 -07:00
Bernd Verst b9654bd979 upgrade to v5 of jackc/pgx
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-10-10 15:08:07 -07:00
Yaron Schneider 37693b8d63
Add postgresql certification test + connection idle time (#1778)
* Add postgresql certification test + connection idle time

Signed-off-by: yaron2 <schneider.yaron@live.com>

* change flow name

Signed-off-by: yaron2 <schneider.yaron@live.com>

* go mod tidy

Signed-off-by: yaron2 <schneider.yaron@live.com>

* add to workflow

Signed-off-by: yaron2 <schneider.yaron@live.com>
2022-06-10 11:07:26 -07:00
Wang Bing db99b43068
Use revive instead of golint (#1685)
Signed-off-by: pigletfly <wangbing.adam@gmail.com>

Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
2022-05-06 12:55:17 -07:00
Shubham Sharma 794e42225a
Fix ordering in transaction API for PostgreSQL (#1524)
* fix transaction API ordering

Signed-off-by: Shubham Sharma <shubhash@microsoft.com>

* Update postgres transaction API and refactor tests

Signed-off-by: Shubham Sharma <shubhash@microsoft.com>

* Remove commented tests

Signed-off-by: Shubham Sharma <shubhash@microsoft.com>

* Add more tests

Signed-off-by: Shubham Sharma <shubhash@microsoft.com>

* Fix govet issue

Signed-off-by: Shubham Sharma <shubhash@microsoft.com>

* Fix goimports

Signed-off-by: Shubham Sharma <shubhash@microsoft.com>

* Fix golangci issues

Signed-off-by: Shubham Sharma <shubhash@microsoft.com>

Co-authored-by: Looong Dai <long.dai@intel.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2022-03-08 21:46:32 -08:00
Phil Kedy d5b2ce5377 Bump version of github.com/jackc/pgx/v4 to v4.15.0.
Signed-off-by: Phil Kedy <phil.kedy@gmail.com>
2022-02-11 15:53:31 -05:00
Phil Kedy e4ad31d36c Postgres state: Convert etag to uint32 instead of int to fix conversion error
Signed-off-by: Phil Kedy <phil.kedy@gmail.com>
2022-02-11 08:49:21 -05:00
Ricardo Corrêa 8297fc929b
Query StateStore API implementation for PostgreSQL StateStore (#1457)
* query state integration with dbaccess (postgresql)

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* query state integration with postgresql component

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* query state for postgresql

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* fix: linter error 'rowserrcheck'

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* query state integration with dbaccess (postgresql)

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* query state integration with postgresql component

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* fix: linter error 'rowserrcheck'

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* fix: linter error 'goimports -ed with -local github.com/dapr/'

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* performance improvementt in PosgreSQL Query API

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

* added conformance test for PostgreSQL Query API

Signed-off-by: Ricardo Corrêa <r.c.correa@outlook.com>

Co-authored-by: Looong Dai <long.dai@intel.com>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
2022-02-02 18:14:18 -08:00
Dmitry Shmulevich c7adb917f3
update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
Ian Luo 117408f76d
add state conformance test for postgresql #1117 (#1118)
* add state conformance test for postgresql #1117

* make postgresql pass comformance test

* include postgresql to github's workflow

* add newline at end of file for Linux text file

* enhance return

* add newline at end of file for valid Linux text file

* fix lint issue

* handle byte[] in special way so that to stick to json type in DB

* use jsonb instead of json

* fix lint issue

* doesn't allow "", a special case

* enhance assertEquals

* remove unused 'expectedReadResponse' to fix lint issue

* go fmt to fix lint issue

* fix lint issue

Co-authored-by: Simon Leet <31784195+CodeMonkeyLeet@users.noreply.github.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
Co-authored-by: Long Dai <long.dai@intel.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
2021-10-21 14:56:14 -07:00
Long Dai 988fed05ab
ci: standard linter config (#1102)
* ci: standard linter config

Signed-off-by: Long <long.dai@intel.com>

* Update utils.go

* fix pulsar issue

Signed-off-by: Long <long.dai@intel.com>

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-09-21 15:21:59 -07:00
Phil Kedy 688df9bda4
Removed dependency on dapr/dapr in favor of dapr/kit. Fixed go mod dependencies afterwards. Go 1.16 in go.mod. Removed accidental log dependency. (#807) 2021-04-19 12:06:10 -07:00
Phil Kedy a15c616bb0
Make state.GetResponse ETag to a *string (#733)
* Make state.GetResponse ETag to a *string

* Small fixes post merge of #716

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-03-03 13:28:59 -08:00
Yaron Schneider 3ef025c604
change headers (#679) 2021-02-09 18:57:55 -08:00
Yaron Schneider 99256e6bec
Provide distinction between missing and empty etags (#600)
* provide distinction between missing and empty etags

* linter

* linter 2
2021-01-14 10:41:38 -08:00
Yaron Schneider 4d3e1be105
Treat etag errors across all state stores (#579)
* treat etag errors across all state stores

* linter

* linter
2021-01-08 18:59:42 -08:00
halspang f647d9eedb
Upgrade golang lint to 1.31 (#490)
Upgrade golang lint to 1.31.0

https://github.com/dapr/components-contrib/issues/439
2020-10-12 12:54:15 -07:00
Mukundan Sundararajan d2ee3200cd
Properly handle serialization deserizliation for redis transaction api. (#460)
* Properly handle serialization deserizliation for redis, postgres transaction api.

* Convert marshaler to a utils function.

* Add license comment

* init error inline
2020-09-15 12:54:29 -07:00
Shalabh Mohan Shrivastava 42668a8ae1
State Store Components changes to adhere runtime changes for removing retry options (#426)
* State Store Components changes to adhere runtime changes for removing state retry options

* resolving code review comments - common method to CheckRequestOptions
2020-08-11 10:50:31 -07:00
Brooke Hamilton a0a293ca1b
[WIP] PostgreSQL State Store (#353)
* Added postgres state files

* Fix SQL Server integration tests. (#324)

* Initial unit and int tests for postgres

* Implemented dbaccess interface

* Formatting updates

* Create state table if not exists

* Initial set implementation

* Get and set with integration test

* Added delete

* Create date and update date in database

* Integration tests for bulk set and bulk delete

* Etag processing, test refactor

* Added tests for etag processing

* Updated const, removed public metadata fields

* Cleanup edits

* Fixed linting issues

* Ran go mod tidy

* Initial implementation of TransactionalStore

* Fixed linting issues

* Added tests and validation

* Test for creating the state table

* Fixed issue with parsing param value as string

* Update to integration tests

* Fixed linting issues

* Added retry logic from state

* Changed primary key to text

* Updated debug logging

* Review updates

Co-authored-by: Young Bu Park <youngp@microsoft.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2020-07-09 13:56:08 -07:00