Commit Graph

117 Commits

Author SHA1 Message Date
Phil Kedy a28587ed98
Resolving gofumpt issues (#932) 2021-06-09 15:18:50 -07:00
Taction 464d53d94b
Move the common Redis code to internal (#859)
* Move pubsub redis client to internal

* Add failover for common redis. Refactor state redis.

* refactor binding redis

* fix lint

* Refactor to setting partten

* fix db and lint

* fix lint

* for backward compatibility

* Using a type alias to handle decoding duration values of -1 for Redis.

* Linter fixes

Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
2021-06-06 23:24:36 -07:00
Long Dai 95cc3f9b81
fix a typo (#910)
Signed-off-by: Long Dai <long0dai@foxmail.com>
2021-06-04 12:08:40 -07:00
문찬용 b387fcdff3
add Ping operation to`store` interface. (#757)
* add `Ping` operation.

* add `Ping` implementation of GA components

* add context to an argument for Ping

* add `Ping` implementation of blobstorage

* fix error string for passing lint

* Update blobstorage.go

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-05-25 23:48:46 -07:00
Jony4 2892d6abfa
add BulkGetResponse comments (#845)
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-05-13 23:10:09 -07:00
Charlie Stanley b4e5569c24 Update Aerospike to v4.5.0 2021-05-10 18:40:33 +00:00
zhangchao 69b24d0394 fix lint 2021-04-23 22:32:26 +08:00
zhangchao b1c81523c2 fix add add a ctx context variable in the Redis struct. And implement `Close() error` function. 2021-04-23 22:15:33 +08:00
zhangchao 5190fe4e7d Merge branch 'master' into upgrade_redis_client_to_v8
resolve conflict

* master:
  Increasing overall test timeout to allow for conformance tests to run (#834)
  Improve SMTP binding performance (#782)
  add redis cluter mode for pubsub (#823)
  downgrade the verbosity of lock renewal errors from warn to debug. This error is expected when messages are processed before beingrenewed (#803)
  Improve pulsar publisher performance. (#827)
  optimze(state/redis): output detail redis error (#825)
  Consul nameresolution component (#750)
  Add DNS name resolver. Add unit tests. (#743)
  Azure Service Bus: Changed log level of error on close to info (#830)
  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)
  Update state/blobstorage.go to add metadata. (#786)
  Azure Service Bus publishing retries when server is "too busy" (#821)

# Conflicts:
#	bindings/redis/redis.go
#	go.mod
#	go.sum
#	pubsub/redis/redis.go
2021-04-22 09:13:01 +08:00
yellow chicks 2320824409
optimze(state/redis): output detail redis error (#825)
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2021-04-21 10:43:05 -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
Daniel Beall a35a715f9c
Update state/blobstorage.go to add metadata. (#786)
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
2021-04-15 21:40:09 -07:00
Phil Kedy 814145dca3
Merge branch 'master' into upgrade_redis_client_to_v8 2021-04-12 19:52:16 -04:00
zhangchao 3ec4b336a9 upgrade go-redis/redis to v8, and use context in pubsub/redis to cancel redis request. 2021-04-10 23:41:58 +08:00
Syuparn 760a4caccc fix password config for redis sentinel state 2021-03-27 19:21:45 +09:00
Artur Souza aed9b583d9
Merge branch 'master' into fix_cosmosdb_contenttype 2021-03-17 23:27:25 -07:00
yellow chicks c3b161ed83
fix(typo): state redis log (#761) 2021-03-17 23:14:56 -07:00
Artur Souza 683246700e Add error check for required fields in cosmosdb. 2021-03-16 15:21:13 -07:00
Artur Souza 4f8e7f3358 Defaults to application/json for cosmosdb in init() 2021-03-16 15:10:40 -07:00
Artur Souza 0d44da776c Fix cosmosdb state store to handle content-type, with JSON as default. 2021-03-16 12:39:16 -07:00
Artur Souza 931048aa60
Add Feature list for state store. (#744)
* Add Feature list for state store.

* List Transactional as a feature for state store.

* Fixing comments about etag.
2021-03-05 14:55:23 -08: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
halspang cb3c881d39
Add ETag operation to statestore conformance test (#716)
* Add ETag operation to statestore conformance test

ETags are used to enable concurrency guarantees and are part of the
statestore specification. Not all stores need to use them, however
if the store chooses to, it should be part of the certification
process. This commit adds a simple ETag test scenario that verifies
the basic behaviors of ETags.

https://github.com/dapr/components-contrib/issues/711

* Update tests.yml

* Error on mongodb when etag does not match on delete.

Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2021-03-03 12:27:10 -08:00
Artur Souza a8de09faf4
Adds etag support to MongoDB. (#729)
* Adds etag support to MongoDB.

* Addressing PR comments.

* Remove empty etag check.
2021-03-01 15:02:28 -08:00
Artur Souza 2562908dee
Conf state trx + Change mongodb get result for key not found + Fix byte[] in cosmosdb (#680)
* Add state transaction conf test.

* Does not return error for key not found in mongodb.

* Rewrite state conf test.

* Handle []byte in cosmosdb state txn (#664)

Fixes: dapr/dotnet-sdk#579

The issue here is that we had missed the case of pre-marshaled bytes in
the state transaction code path, which would result in the encoding/json
package doing it's normal thing and base64 encoding the data as a JSON
string.

The fix is to use json.RawMessage to avoid that. Turns out this code can
be simplified a bit.

* Fix cosmosdb handling of byte[].

* Fix lint.

* Fix UT for cosmosdb.

* Remove config from state store conf test.

Co-authored-by: Ryan Nowak <nowakra@gmail.com>
2021-02-10 18:15:59 -08:00
Yaron Schneider 3ef025c604
change headers (#679) 2021-02-09 18:57:55 -08:00
Trond Hindenes 83975462bf
State:Dynamodb - Dont require access key/secret (#652)
* Dont require access key/secret

* Validate table name

* Fixed test issues

* Fix failing tests....?

* gofmt-ed files

* Remove unneeded fmt statement
2021-02-03 11:19:32 -08:00
Donovan Brown 5368d25951
Adding MySQL State Component (#612)
* Adding MySQL State Component

* Fixing File is not `gofumpt`-ed (gofumpt)

I believe the issue was No empty lines before a simple error check

* Fixing final lint errors that only showed up in CI

* gofumpt-ed in test files.

* Changing error for affected rows.
Want to distinguish database errors from application errors.

* The database (schema) can now be created for you.

Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2021-01-26 12:29:57 -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 37815ad9a5
export etag error kind (#585) 2021-01-11 12:40:35 -08:00
Yaron Schneider f44673c311
add missing error checks for etag errors (#584) 2021-01-11 10:15:47 -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
Yaron Schneider 10b3dc16fe
fix couchbase serialization (#552) 2020-12-07 09:43:46 -08:00
Sky/敖小剑 5dc3587f7d
Add bulk get in state store - Plan B (#532)
* add BulkGet method on state store

* add a bool value in bulk get method to tell dapr if this store supports bulk get or not

* add  BulkGetResponse for bulk get; rollback GetResponse to remove new added filed key

* update to use BulkGetResponse for bulk get

* fix lint issues

* fix lint issues

* fix lnit issues
2020-11-26 23:07:27 -08:00
Trond Hindenes 8d6978372f
Various AWS improvements (#525)
* Support sessiontoken

* Fixed tests and other components

* Fixed tests and things

* fmt

* Fix lint errors

* gofmt

* Fixed lint bugs

* Remove unneeded parameter

* gofmt

Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2020-11-23 13:21:29 -08:00
Aaron Crawfis a27e486ef9
Update docs with new docs links (#513) 2020-10-26 11:52:20 -07:00
Sky/敖小剑 4e77594a4d
remove etcd state store to prepare to update grpc to new version (#499)
* remove etcd state store to prepare to update grpc to new version

* update go.mod

Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2020-10-15 09:53:49 -07: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
Jack M 1a5a72e4a9
Fixed #488 - Update state store list in readme. (#489)
Co-authored-by: Jack M <root@exegete.me>
2020-10-06 11:16:44 -07:00
Artur Souza ab1ff1055a
Fixing bug where trx del in redis fails without etag. (#482) (#484) 2020-09-26 18:24:12 -07:00
Mark Chmarny fbc3a3dd87
RethinkDB state store support (#423)
* rethinkdb state store

* added actor state change binding

* updated db record

* reconnect

* passing lint

* updated binding repsonse keys

* rethinkdb load test

* lint validated tests

* updated comments

* updates TransactionalStateRequest

* parameterized table

* correct error message

Co-authored-by: Young Bu Park <youngp@microsoft.com>
2020-09-24 16:19:14 -07:00
Nghia Tran e51cff7fec
Use concurrency control in Multi() (#466)
Change Multi() to use same setQuery and delQuery mechanisms as Set() and Delete().
2020-09-22 15:13:39 -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
AbserAri 2b1103ec9f
Redis failover feature (#459)
* update logger form nats-io's to dapr's

* run go mod tidy and go mod delete the nats-io gnatsd

* update rabbitmq prefetch feature because want to set each instance the number of messages could  hold in once until ack.

* update for parse int

* update parseMetadata of rabbitMQ to read prefetchCount by string.

* [update rabbitMQ binding parseMetadata] Make error clear

* update the redis failover metadata

* [in rabbitMQ metadata parse] fix the bug of golint

* [redis statestore failover feature] add new client logic.

* update redis metadata as advice.

maligned struct of size 80 bytes could be of size 72 bytes.

* update rabbitMQ with a new parseMetadata way.

* omit comparison to bool constant as golangci-lint.

* [typo] matser -> master

* Revert "Merge branch 'master' of https://github.com/dapr/components-contrib into dapr-master"

This reverts commit 9a91bccc4b, reversing
changes made to 7e0cb1fa2d.

* Revert "Revert "Merge branch 'master' of https://github.com/dapr/components-contrib into dapr-master""

This reverts commit 110ef82681.

* Revert "Merge branch 'master' of https://github.com/dapr/components-contrib into dapr-master"

This reverts commit 9a91bccc4b, reversing
changes made to 7e0cb1fa2d.

* solve the conflct

* merge from the master to accept the change

* remove the defaultFailover as the reviewed.

* move newclient to function

* Update state/redis/redis.go

Co-authored-by: Nghia Tran <tcnghia@gmail.com>

* update comment to /* #nosec  */

Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Nghia Tran <tcnghia@gmail.com>
2020-09-14 17:14:52 -07:00
Leon Mai 857d5652bd
Use metadata at top level instead of per request (#452)
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2020-09-04 09:56:27 -07:00
Young Bu Park c69d5ea2ca
Add metadata property to TransactionalRequest (#430)
* Add Metadata to transactional request

* Use new transactional request strcut
2020-08-12 09:30:37 -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
Leon Mai 65575593c1
Sql component should save db object on Init instead of creating a new (#399)
one per operation.

Separately, if data arrives as []byte (as in grpc case) don't Marshal
it.

Co-authored-by: LM <lemai>
2020-07-29 15:26:07 -07:00
Sivamuthu Kumar 6085834d79
Add blob storage as state store (#348)
* Add blob storage as state store

* Updated comments for blob storage

Co-authored-by: Young Bu Park <youngp@microsoft.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
2020-07-22 08:49:20 -07:00
LMWF 1983d86849 merge 2020-07-14 13:59:29 -07:00