Commit Graph

144 Commits

Author SHA1 Message Date
317brian 263ac36e8d
docs: fix autolabeler for jupyter notebooks (#14862) 2023-08-18 12:42:36 -07:00
317brian 6b4dda964d
Docusaurus2 upgrade for master (#14411)
Co-authored-by: Victoria Lim <vtlim@users.noreply.github.com>
Co-authored-by: Charles Smith <techdocsmith@gmail.com>
2023-08-16 19:01:21 -07:00
Xavier Léauté 50b3d96df5
increase dependabot PR limit for Java dependencies (#14804)
Many dependabot PRs are currently stuck due to API changes or
incompatibilities. Temporarily Increasing the limit so we can get
updates for other dependencies.
2023-08-14 19:51:59 -07:00
Xavier Léauté 37ed0f4a17
Bump jclouds.version from 1.9.1 to 2.0.3 (#14746)
* Updates `org.apache.jclouds:*` from 1.9.1 to 2.0.3
* Pin jclouds to 2.0.x since 2.1.x requires Guava 18+
* replace easymock with mockito

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-10 06:24:01 -07:00
Tejaswini Bandlamudi a45b25fa1d
Removes support for Hadoop 2 (#14763)
Removing Hadoop 2 support as discussed in https://lists.apache.org/list?dev@druid.apache.org:lte=1M:hadoop
2023-08-09 17:47:52 +05:30
Abhishek Agarwal 955734ba8d
Fix exempt labels in stale.yml (#14733) 2023-08-02 17:12:18 +05:30
Sam Rash 0dcb19f7e3
Add Continuous Profiling to Unit Tests (#14506)
Uses a custom continusou jfr profiler.

Modifies the github actions for tests to do profiling only in the case
of jdk17, as the profiler requires jdk17+ to use the JFR streaming API
plus a few other language features in the code.

Continuous Profiling service is provided to the Apache Druid project
free of charge by Imply and any committer can request free access to
the UI.
2023-07-12 17:50:38 -07:00
Tejaswini Bandlamudi c3f84f9ea0
Suppress CVEs (#14291)
Address various CVEs by upgrading dependencies or adding suppression with a justification
2023-07-10 15:19:26 +05:30
Gian Merlino 63ee69b4e8
Claim full support for Java 17. (#14384)
* Claim full support for Java 17.

No production code has changed, except the startup scripts.

Changes:

1) Allow Java 17 without DRUID_SKIP_JAVA_CHECK.

2) Include the full list of opens and exports on both Java 11 and 17.

3) Document that Java 17 is both supported and preferred.

4) Switch some tests from Java 11 to 17 to get better coverage on the
   preferred version.

* Doc update.

* Update errorprone.

* Update docker_build_containers.sh.

* Update errorprone in licenses.yaml.

* Add some more run-javas.

* Additional run-javas.

* Update errorprone.

* Suppress new errorprone error.

* Add exports and opens in ForkingTaskRunner for Java 11+.

Test, doc changes.

* Additional errorprone updates.

* Update for errorprone.

* Restore old fomatting in LdapCredentialsValidator.

* Copy bin/ too.

* Fix Java 15, 17 build line in docker_build_containers.sh.

* Update busybox image.

* One more java command.

* Fix interpolation.

* IT commandline refinements.

* Switch to busybox 1.34.1-glibc.

* POM adjustments, build and test one IT on 17.

* Additional debugging.

* Fix silly thing.

* Adjust command line.

* Add exports and opens one more place.

* Additional harmonization of strong encapsulation parameters.
2023-07-07 12:52:35 -07:00
Tejaswini Bandlamudi c04a36d15b
Run IntelliJ-inspections in parallel to static-checks & web-checks in GHA (#14515)
Currently, IntelliJ-inspections are run sequentially w.r.t static-checks, thereby increasing build time. Moving IntelliJ-inspections to a separate job to improve builds time and get a quick insight into such issues early on.
2023-07-03 17:10:19 +05:30
Abhishek Agarwal f8f2fe8b7b
Skip tests based on files changed in the PR (#14445)
Our CI system has a lot of tests. And much of this testing is really unnecessary for most of the PRs. This PR adds some checks so we can skip these expensive tests when we know they are not necessary.
2023-06-22 12:27:23 +05:30
Clint Wylie b5f45832b1
Add 'Flaky test' issue template (#14394)
* Add 'Flaky test' issue template

* Update flaky_test.md
2023-06-11 19:02:38 -07:00
Tejaswini Bandlamudi 8e4f003f02
Fix flaky Revised ITs failures on GHA runners (#14348)
* Fix read timed out failures and remove containers before test

* remove containers before loading images

* add labels to IT docker containers, download stable minio docker image release instead of latest
2023-06-05 18:58:54 +05:30
Abhishek Agarwal b482fda503
Ignore misc.xml (#14362) 2023-06-02 12:00:52 +05:30
Abhishek Radhakrishnan 5fd3e01ef0
More specific exclusions in the `examples` folder. (#14347)
This PR changes how we skip java UT and ITs with changes in the examples folder. After this change, any Markdown files within the examples folder and jupyter-notebooks directory will be excluded. The rationale behind these more specific exclusions is that some ITs use json files checked in examples, so we want to trigger the full workflow for all other changes.
2023-05-30 12:01:45 +05:30
Tejaswini Bandlamudi 0e51c2702a
update operations per run (#14325) 2023-05-29 14:05:11 +05:30
Tejaswini Bandlamudi 36a084e021
Fix GHA workflows naming & Run ITs if UTs fail on coverage (#14158)
Currently, there is no way to run ITs if unit-tests fail on coverage. This PR allows Revised, Standard ITs to run even when unit-tests fail on coverage errors, still failing the workflow. This PR also fixes existing GHA workflow naming.
2023-05-22 11:44:34 +05:30
Abhishek Radhakrishnan c546df3866
Add `examples/` to CI UT/IT ignore (#14306)
* Skip UT/IT on examples only changes.
2023-05-17 17:46:25 -07:00
Clint Wylie cb10bb9783
add website to java ci ignore (#14303) 2023-05-17 14:50:52 -07:00
Tejaswini Bandlamudi bbbb031057
Do not cancel old GHA workflows triggered on branch commits (#14279)
* group and limit workflows only on PRs and not on branch commits

* also apply to Static Checks CI
2023-05-16 12:13:08 +05:30
Abhishek Agarwal 9eebeead44
Tune stale bot to pick older issues first (#14267) 2023-05-12 11:45:29 +05:30
Tejaswini Bandlamudi 8ef99f091a
Fix jdk setup in GHA (#14091)
Instead of downloading jdk everytime we run CI, we're using inbuilt temurin jdk distributions 8, 11, 17 by settiing JAVA_HOME variable. This is not working as expected since we were not setting this as global environment variable as a result all CI builds are running on jdk11. This PR fixes the issue.
2023-05-12 10:36:59 +05:30
Abhishek Agarwal f3ff36a004
Move the stale bot to a GHA action (#14238)
Move the stale bot to a GHA action
2023-05-11 11:31:28 +05:30
AmatyaAvadhanula ac7181bbda
Persist supervisor spec only after successful start (#14150)
* Persist spec after successful start

* Fix checkstyle.

* checkstyle after mvn install
2023-05-03 18:27:39 +05:30
Tejaswini Bandlamudi 774073b2e7
Update Hadoop3 as default build version (#14005)
Hadoop 2 often causes red security scans on Druid distribution because of the dependencies it brings. We want to move away from Hadoop 2 and provide Hadoop 3 distribution available. Switch druid to building with Hadoop 3 by default. Druid will still be compatible with Hadoop 2 and users can build hadoop-2 compatible distribution using hadoop2 profile.
2023-04-26 12:52:51 +05:30
Tejaswini Bandlamudi f86ea5cbc4
Separate web-checks from static-checks to improve build time (#14071)
* Moves web-checks to separate job
2023-04-12 20:17:03 -07:00
Tejaswini Bandlamudi 966cae1c94
Fix GHA CI branch trigger patterns (#14067)
* fix matching pattern on release branches

* test
2023-04-11 20:43:40 -07:00
Tejaswini Bandlamudi 5a9c13293b
remove duplicate trigger on Cron Job ITs workflow (#14013) 2023-04-04 09:39:48 +05:30
abhagraw eb31207402
Using MinIO to run S3DeepStorage ITs (#13997)
* Using MinIO to S3DeepStorage ITs

* Adding S3DeepStorageTest to github actions revised ITs
2023-03-30 12:15:53 -07:00
Tejaswini Bandlamudi f715887172
Debug docker logs on ITs failure. (#13978) 2023-03-29 09:06:41 -07:00
Tejaswini Bandlamudi 3c096c01a2
cache mvn dependencies across tests without building (#13962) 2023-03-29 16:27:36 +05:30
abhagraw c52d15d65d
Fixing security vulnerability check errors (#13956)
* Fixing security vulnerability check errors

* Updating javax.el to jakarta.el

* Adding cron job trigger on changes to suppressions file
2023-03-23 11:10:06 +05:30
Tejaswini Bandlamudi 1c250a0bc0
Fix error in cron job ITs workflow (#13945) 2023-03-17 17:29:45 +05:30
Tejaswini Bandlamudi da197c9273
Migrate existing jdk11 ITs to cron job (#13918)
This cron job runs on the latest commit of the master branch by default daily at 3:00 AM UTC.
2023-03-16 15:30:07 +05:30
abhagraw c7d864d3bc
Update container creation in AzureTestUtil.java (#13911)
*
1. Handling deletion/creation of container created during the previously run test in AzureTestUtil.java.
2. Adding/updating log messages and comments in Azure and GCS deep storage tests.
2023-03-16 11:04:43 +05:30
somu-imply 7ce3371730
Fixing a github workflow to resolve conflicts and use the correct tag for jdk (#13933) 2023-03-14 16:06:27 -07:00
Elliott Freis 8a1dc2f51c
We want to tag the container based on the build jdk version, not the runtime version (#13917)
Co-authored-by: Elliott Freis <elliottfreis@Elliott-Freis.earth.dynamic.blacklight.net>
2023-03-10 11:35:33 -08:00
Clint Wylie 68db39d08a
fix ci (#13901)
This PR is #13899 plus spotbugs fix to fix the failures introduced by #13815
2023-03-08 16:55:47 +05:30
Elliott Freis d93fdb2632
Bump CycloneDX module to address POM errors (#13878)
* Bump CycloneDX module to address POM errors

* Including web-console in the PR

---------

Co-authored-by: Elliott Freis <elliottfreis@Elliott-Freis.earth.dynamic.blacklight.net>
2023-03-03 15:39:15 +05:30
Abhishek Agarwal 81356f7667
do not run non sql compatible tests for all jdk flavours (#13875) 2023-03-03 11:26:57 +05:30
Tejaswini Bandlamudi 7103cb4b9d
Removes FiniteFirehoseFactory and its implementations (#12852)
The FiniteFirehoseFactory and InputRowParser classes were deprecated in 0.17.0 (#8823) in favor of InputSource & InputFormat. This PR removes the FiniteFirehoseFactory and all its implementations along with classes solely used by them like Fetcher (Used by PrefetchableTextFilesFirehoseFactory). Refactors classes including tests using FiniteFirehoseFactory to use InputSource instead.
Removing InputRowParser may not be as trivial as many classes that aren't deprecated depends on it (with no alternatives), like EventReceiverFirehoseFactory. Hence FirehoseFactory, EventReceiverFirehoseFactory, and Firehose are marked deprecated.
2023-03-02 18:07:17 +05:30
Elliott Freis d046cee3e4
Workaround for CycloneDX is causing POM build errors (#13867)
Co-authored-by: Elliott Freis <elliottfreis@Elliott-Freis.earth.dynamic.blacklight.net>
2023-03-01 16:47:13 -08:00
Elliott Freis faf602108b
We never want to restore caches that aren't an exact match to the commit SHA (#13863)
Co-authored-by: Elliott Freis <elliottfreis@Elliott-Freis.earth.dynamic.blacklight.net>
2023-02-28 13:59:49 -08:00
Kashif Faraz 54da38b508
Add missing license for jakarta.activation against module druid-avro-extensions (#13845) 2023-02-26 17:06:23 +05:30
Elliott Freis 471cb82af3
Use built-in java rather than spending time to install (#13834)
Co-authored-by: Elliott Freis <elliottfreis@Elliott-Freis.earth.dynamic.blacklight.net>
2023-02-23 08:50:04 -08:00
Abhishek Radhakrishnan 786172947e
Skip tests when there are markdown only changes. (#13836) 2023-02-23 11:39:53 +05:30
Tejaswini Bandlamudi e788f1ae6b
Add option to run standard & revised ITs manually on PRs (#13814)
Create the docker image in case of maven dependencies cache restore failure too as env.sh file is removed on maven rebuild.
Increase java heap size for security IT failing with error
2023-02-20 16:15:15 +05:30
Clint Wylie 08b5951cc5
merge druid-core, extendedset, and druid-hll into druid-processing to simplify everything (#13698)
* merge druid-core, extendedset, and druid-hll into druid-processing to simplify everything
* fix poms and license stuff
* mockito is evil
* allow reset of JvmUtils RuntimeInfo if tests used static injection to override
2023-02-17 14:27:41 -08:00
Abhishek Agarwal 8d03ace1b4
Use K3S instead of minikube for integration tests (#13782)
We are seeing failures on GHA while using minikube so switching to K3S instead.
2023-02-17 23:06:30 +05:30
Abhishek Agarwal ddae7974c2
Don't run UTs, ITs when there are only docs, helm and console changes. (#13812)
* Don't run UTs, ITs for docs, helm and console changes

* Test

* right place

* Revert test

* Remove ITs from ignore list

* Update unit-and-integration-tests-unified.yml

* Update unit-and-integration-tests-unified.yml
2023-02-17 09:56:17 +05:30
317brian add2081f7c
gha: add auto labeler for doc prs (#13791)
This adds an autolabeler GitHub action that will label any changes to the docs directories (docs and the Jupyter nb directory) as Area - Documentation.

The GHA will also remove the label if the PR changes and no longer touches files in those directories.
2023-02-16 12:05:34 +05:30
Elliott Freis e5ecb4d6aa
Flip boolean logic so the test description makes sense (#13805)
Co-authored-by: Elliott Freis <elliottfreis@Elliott-Freis.local>
2023-02-15 16:07:49 +05:30
Tejaswini Bandlamudi 9ffaba9c7f
Fix MySQL drivers setup for Revised ITs (#13800)
* download both mysql drivers and use org.mariadb.jdbc.Driver for now

* use com.mysql.jdbc.Driver
2023-02-15 11:03:25 +05:30
Tejaswini Bandlamudi 477bc424d9
Fix GHA tests cache hit miss scenario (#13772)
* rebuild maven project or docker image in case of cache hit miss
* rebuild maven project in case of docker cache hit miss too
* fix docker-restore cache hit fail issue
2023-02-10 08:57:45 -08:00
Elliott Freis e16639121f
Local pathing for tests (#13753)
Co-authored-by: Elliott Freis <elliottfreis@Elliott-Freis.earth.dynamic.blacklight.net>
2023-02-03 20:11:17 -08:00
Elliott Freis c06631037d
Moving to SHA based cache key (#13751)
Co-authored-by: Elliott Freis <elliottfreis@Elliott-Freis.earth.dynamic.blacklight.net>
2023-02-03 15:49:17 -08:00
Tejaswini Bandlamudi 6cb842e76e
update snapshots if cache restore failed otherwise run test normally (not all test mvn dependencies are downloaded during build phase due to skipTests) (#13740) 2023-02-02 08:09:56 -08:00
Tejaswini Bandlamudi 440212c5f9
Fix GHA workflow maven build erroring incase of version updates (#13735)
* build maven sequentially

* run mvn tests in offline mode after retrieving cache
2023-02-01 20:32:57 -08:00
Tejaswini Bandlamudi c95a26cae3
Migrate ITs from Travis to GHA (#13681) 2023-02-01 03:31:29 -08:00
Tejaswini Bandlamudi 7a54524076
install node on runners (#13690) 2023-01-18 16:19:57 +05:30
Abhishek Agarwal cc89c661d0
Move the tips section in PR template into comments block (#13676) 2023-01-16 17:01:20 +05:30
Tejaswini Bandlamudi 4368b3a071
Migrate jdk8 unit tests from Travis to GHA (#13518)
* migrate UTs form Travis to GHA

* update permissions

* rename file

* set fetch depth to 1

* debugs remote branches

* test with github.ref variable

* fetch github.base_ref for diff

* nit

* test git diff

* run tests

* test code coverage failure scenario

* nit

* nit

* revert code changes

* revert code changes

* Setup diff-test-coverage before tests

* build distribution module at end in packaging check

* nit

* remove redundant steps in static-checks workflow

* drop jdk8 unit tests from Travis
2023-01-13 14:46:58 +05:30
Peter Stöckli df55768535
Add CodeQL workflow (#13477)
* workflower: Add CodeQL workflow

* add modified CodeQL build config
2022-12-21 09:24:39 +05:30
Tejaswini Bandlamudi 136322d13b
clean install before license checks (#13502) 2022-12-05 22:38:03 -08:00
Tejaswini Bandlamudi 30498c1f98
Update gha & travis checks (#13412)
* update static-checks GHA to run sequentially
remove static-checks from travis.yml
move docs, web-console, packaging checks from travis to GHA

* nit

* nit

* groups all checks, runs on 8, 11, 17 jdks

* nit

* adds license info

* update permissions on scripts folder

* nit

* nit

* fix packaging check

* changes naming, cleans repo before license checks

* simulate failure

* bump up license checks

* test license checks failure

* test license checks failure

* test license checks failure

* verify gha script run exit code

* fail fast in case of shell script

* verified fail fast in case of shell script
2022-12-02 15:06:31 +05:30
Tejaswini Bandlamudi 8e9e46b519
Add static-checks Github Action (#13347)
* Adds static-checks github action

* bug fixes

* bug fixes

* adds maven install step

* update permissions on scripts folder

* fix license check errors

* attempt for parallelization

* fix concurrency

* fix naming

* remove intellij inspections to add in different CI pipeline

* minimize naming, add new lines

* setting hadoop profile through matrix

* also runs on push triggers to master and release branches

* changes on review
2022-11-17 17:20:16 +05:30
317brian 2a24c20454
process: update PR template to include release notes (#13188)
* process: update PR template to include release notes

* Update .github/pull_request_template.md [ci skip]

Co-authored-by: Charles Smith <techdocsmith@gmail.com>

* Update .github/pull_request_template.md

Co-authored-by: Clint Wylie <cjwylie@gmail.com>

* incorporate feedback from paul

Co-authored-by: Charles Smith <techdocsmith@gmail.com>
Co-authored-by: Clint Wylie <cjwylie@gmail.com>
2022-10-11 10:29:18 +08:00
Abhishek Agarwal 7fa53ff4b3
Exclude calcite from dependabot (#13160)
* Exclude calcite from dependabot

* Update .github/dependabot.yml

Co-authored-by: Liam Newman <96086065+liam-verta@users.noreply.github.com>

* Update dependabot.yml

Co-authored-by: Liam Newman <96086065+liam-verta@users.noreply.github.com>
2022-10-04 10:21:11 +08:00
Rohan Garg 9da7199142
Lock hadoop dependencies to 2.8.5 (#11583) 2021-08-12 15:16:47 +05:30
Suneet Saldanha 1937b5c0da
Pin Jetty version to 9.4.x (#11453)
Major version bumps in jetty are too scary for now. So let's keep up to date with the latest 9.4.x
2021-07-20 14:50:39 -07:00
Dongjoon Hyun 5037493e45
Bump commons-io to 2.11.0 (#11460)
* Bump commons-io to 2.11.0

* Address comments

* Remove try catch

* Fix checkstyle
2021-07-19 15:47:14 -07:00
zachjsh 8037a54525
revert commons-io to 2.6 (#11392)
* * revert commons-io to 2.6

* * fix failing tests
2021-06-29 23:04:38 -07:00
Xavier Léauté db5ee83ca6
pin ZooKeeper dependencies to 3.5.x (#11354) 2021-06-10 07:41:53 -07:00
Xavier Léauté dbec8da7ea
enable dependabot for dependency updates (#11079)
* enable dependabot for dependency updates
* exclude dependabot config from license checks
2021-06-07 13:56:32 -07:00
Jihoon Son d6e591220b
Add instructions for updating licenses (#10894)
* Add instructions for updating licenses

* updating license

* pull request template
2021-03-03 00:57:09 -08:00
Jihoon Son 8831c0d057
Update PR template to include the contributing doc; suggestion to not use force push (#10769)
* Update PR template to include the contributing doc; suggestion to not use force push

* make it a comment

* moved it to top

* address review comment
2021-03-02 22:26:49 -08:00
Jihoon Son 35284e5166
Make stale bot less aggressive (#10261) 2020-08-10 20:59:02 -07:00
Maytas Monsereenusorn c6d2b94d7b
Add instruction for code coverage checks (#9995)
* Add instruction for code coverage checks

* address comments
2020-06-10 18:17:36 -10:00
Jonathan Wei aa539177ec De-incubation cleanup in code, docs, packaging (#9108)
* De-incubation cleanup in code, docs, packaging

* remove unused docs script
2020-01-03 12:33:19 -05:00
Clint Wylie 71676cd16d add checkbox for licenses.yaml in PR template, mention it in CONTRIBUTING.md (#8367) 2019-08-22 14:14:24 -07:00
Benedict Jin 399b3ad7de
Hide descriptive comments (#8313) 2019-08-16 10:08:34 +08:00
Clint Wylie 172ebba4b8 more adjustments to PR template (#8048)
* more adjustments

* friendly thanks, remove italics, change key changed/added to list
2019-08-07 13:17:47 -07:00
Roman Leventov b97b86aa96 Add 'Area - Metadata' tag to committer-instructions.md and stale.yml (#8170) 2019-07-31 15:02:35 -07:00
Roman Leventov 2d6d1c17a0 Add more exempt tags for stalebot; Make stalebot to close PRs/issues in 28 days rather than in 7/14 days (#8084)
* Add more exempt tags for stalebot; Make stalebot to close PRs/issues in 21 days rather than in 7/14 days

* Exempt labels only for issues, not PRs; Add 'Uncategorized problem report' tag
2019-07-17 22:57:41 -07:00
Clint Wylie 53a32b6f55 adjust PR template (#8016) 2019-07-03 08:31:31 -07:00
Roman Leventov 46ea5b88b7
Add the pull-request template (#7206)
* Add the pull-request template

* Rewording

* Replaced checklist link, added Rat exclusion

* Update the PR template. Add Concurrency Checklist to the repository

* Merge Description and Design sections. Softer language. Removed requirement to test in production environment. Added a committer's instruction to justify addition of meta tags.

* Rephrase item about comments

* Add license header

* Add item to concurrency checklist
2019-06-27 15:51:25 +03:00
Gian Merlino d046d5aa8d
Stalebot config adjustments. (#7936)
* Stalebot config adjustments.

- Different wordings for PRs and issues.
- Extend stale timeout for issues.
- Exempt "Proposal" label.
- Exempt issues in projects and issues with assignees.

* Fix copy/paste error.
2019-06-20 14:16:57 -07:00
Fangjin Yang ceade03213
Enable stalebot for issues (#7927)
* Enable stalebot for issues

* fix comments

* fix comments

* fix comments
2019-06-20 11:09:40 -07:00
Roman Leventov ffa95859c2 Remove [PROPOSAL] from Proposal issue template; Add 'Other' template for convenience (#7364)
* Remove [PROPOSAL] from Proposal issue template; Add 'Regular' template for convenience

* Regular -> Other
2019-03-28 18:40:43 +08:00
Roman Leventov 37cbad79b1 Adjust issue templates (#7188)
* Adjust issue templates

* typo

* bug -> problem
2019-03-05 16:06:40 -08:00
Jonathan Wei 417b9f2fe1 Add bug report and feature request GitHub issue templates (#7105)
* Add bug report GitHub template

* PR comments

* Add feature request template

* Tweak

* Add [REQUEST] title

* Remove request title, add note
2019-02-21 08:44:41 -08:00
Dylan Wylie 554b0142c3 Autoclose old PRs using stale bot. (#7031)
* Autoclose old PRs using stale bot.

* add apache license

* Excempt bug label
2019-02-19 14:26:54 -08:00
Jonathan Wei 258485a2fb
Exclude github issue templates from license check (#7070)
* Exclude github issue templates from license check

* Adjust capitalization
2019-02-19 12:38:52 -08:00
Jonathan Wei 673396ae74 Add proposal template (#7062)
* Add proposal template

Adds a proposal template based on the discussion in https://lists.apache.org/thread.html/bb9c5e1f8ce9b3148a5c26f95059f9b6629fae3bf8c617121d671395@%3Cdev.druid.apache.org%3E

* Add license
2019-02-13 13:43:31 -08:00