Hi I am building Airbyte using " ./gradlew build "...
# contributing-to-airbyte
a
Hi I am building Airbyte using " ./gradlew build " command but it gave me below error "OracleSourceTest > testReadSuccess() FAILED java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region not found" Any solution to resolve this error ?
u
yes, create a env called TZ=UTC
u
export TZ=UTC
u
we should figure out how to add this as an env variable in gradle so it's not necessary for a user to have to do this.
u
@Ankur Adhikari i'm curious why you are running
./gradlew build
. we've tried to migrate all of our docs to recommend only building what you need. so for the core platform
CORE_ONLY=1 ./gradlew build
and for connectors building the individual connector.
u
we suggest this because it means you run into errors that are only on the critical path for what you want to do.
u
so if our docs are still suggesting the old thing anywhere, please let me know so I can fix it and save you and the next person some time.
u
@charles @[DEPRECATED] Marcos Marx thanks it works for me
u
i used CORE_ONLY=1 ./gradlew build command
u
huh. you used the CORE_ONLY command and you got that error?
u
yes i got that error with CORE_ONLY also until i export TZ=UTC
u
thanks for letting me know. that shouldn't happen!
u
created an issue to track this by the way: https://github.com/airbytehq/airbyte/issues/3010
u
goal is to not require you to set that env variable.
u
but i'm glad you hvae a workaround for now.
u
@charles i want to add destination connector but when i follow steps for template generation then it only gives options to create source connector. can you please suggest if i miss anything ?
u
nope. you're not missing anything.
u
the path for contributing destinations is not clearly documented or templated yet.
u
ohk
u
long story short, there's a lot more complexity on the destination side and so we are still trying to figure out how to provide a good abstraction for contributors to use.
u
that all being said, what destination do you want to add, I might be able to help.
u
i want to add destination-s3 like target-s3 available in singer
u
ah
u
i want to say that was contributed recently actually.
u
let me double check.
u
yes please let us know if some one already did that
u
thanks a lot for all support
u
huh. i must be wrong.
u
we're working on a related project right now and so i'm trying to figure out if a byproduct of that project will be us being able to trivially add an S3 destination. that's why i'm hesitating for another moment.
u
we are planning to build this destination in java pretty soon (hoepfully next week or so)
u
if you wanted to build it in java we're happy for you to just go for it.
u
we want it in java because we have a lot of helpers that we can reuse across destinations. we also know we will want to add a lot of configurability on top of it which is why i'm being so opinionated./
u
actually i want to use already implemented singer-based target, can you please guide me if i have to add destination then which steps i have to follow
u
i want to implement all destinations which Rudderstack provide (https://docs.rudderstack.com/destinations)
u
cool.
u
you want to implement literally all of them?
u
yes, most of them are marketing tool destinations
u
for First Party data collection, it's really good if we collect data in our domain and then send to respective tools based on consent/compliances
u
@charles 1. does it really mandatory to update any source/destination to Airbyte docker hub, can't we upload any source/destination to our docker hub ?
u
2. i added a source using available script but there is no entry related to new added source in STANDARD_SOURCE_DEFINITION folder under config
u
1. it not mandatory! we always prefer that people share their connectors so that other people in the community can use them.
u
2. look for a source_definitions.yaml file. you'll see a list of all of the connectors in there. you can then use
./gradlew :airbyte-config:init:build
to generate the needed configuration so that it will show up in the UI. (after you make this change you'll need to recreate the docker volumes associated with aribyte)
u
alternatively in the admin UI of airbyte you can add the image of the connector you created.
u
Hi @charles i tried to add connector from UI also but it shows me 200 response but i am not able to see my test connector on UI. "airbyte-server | 2021-04-23 184727 INFO i.a.s.RequestLogger(filter):107 - {workspace_app_root=/tmp/workspace/server/logs} - REQ 172.18.0.1 OPTIONS 200 /api/v1/destination_definitions/create" Here are my steps: 1. ./tools/integrations/manage.sh build airbyte-integrations/connectors/destination-csv-new 2. docker tag airbyte/destination-csv-new blotout/destination-csv-new:0.2.4 3. docker push blotout/destination-csv-new:0.2.4 4. add a entry in destination yaml file 5. ./gradlew airbyte configinit:build 6. CORE_ONLY=1 ./gradlew build 7. VERSION=dev docker-compose up
u
try running this. it will clear out the docker volumes
Copy code
VERSION=dev docker-compose down -v
VERSION=dev docker-compose up -V
u
it works for me , thanks @charles