Coder Social home page Coder Social logo

watson-data-api-clients's Introduction

watson-data-api-clients

Clients for leveraging the Watson Data REST APIs:

watson-data-api-clients's People

Contributors

cmgrote avatar dependabot[bot] avatar stevemar avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

watson-data-api-clients's Issues

Deserialization error on DataProtectionRules

Appears to be related to the embedded PolicyRuleParameter objects allow both singular (non-list-wrapped) values as well as list-wrapped values.

Should be easy to fix using Jackson's DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY on the ObjectMapper.

Allow reactive buffer to be configurable

At the moment we have not overridden the built-in default of 256K in-memory buffer for the reactive WebClient of Spring. Hence if there are large payloads being returned by an API call, this buffer will be overrun and result in an exception rather than returning a response:

org.springframework.web.reactive.function.client.WebClientResponseException: 200 OK from POST https://.../v3/search; nested exception is org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144
   at org.springframework.web.reactive.function.client.WebClientResponseException.create(WebClientResponseException.java:212)
   at org.springframework.web.reactive.function.client.DefaultClientResponse.lambda$createException$1(DefaultClientResponse.java:216)
   at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106)
   at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
   at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2359)
   at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2167)
   at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74)
   at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:54)
   at reactor.core.publisher.Mono.subscribe(Mono.java:4046)
   at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
   at reactor.core.publisher.Operators$MonoSubscriber.onError(Operators.java:1836)
   at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onError(FluxMapFuseable.java:140)
   at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
   at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onError(FluxMapFuseable.java:334)
   at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onError(FluxFilterFuseable.java:382)
   at reactor.core.publisher.MonoCollect$CollectSubscriber.onError(MonoCollect.java:144)
   at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onError(FluxOnAssembly.java:392)

We should make this a configurable option for the Java client, for per-scenario tuning, and probably default it to a somewhat higher value (eg. 1MB).

API: category collaborators

New in v3.5 is the ability to define and manager the collaborators on categories (category-based permissions). There are a few new endpoints under the /v3/categories base now, which should be added to the client.

Mixtures of timestamps depending on API

Different API endpoints (more specifically, their payload structures) seem to use different timestamp formats -- some include millisecond-level detail, and others do not. To handle serde timestamps reliably, we probably need to annotate every date in the model accordingly as to whether it includes (or not) the millisecond-level detail.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.