Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Updater #38

Closed
12 of 29 tasks
SlowMo24 opened this issue Dec 5, 2018 · 1 comment
Closed
12 of 29 tasks

[WIP] Updater #38

SlowMo24 opened this issue Dec 5, 2018 · 1 comment
Assignees
Labels
addressing Someone is addressing this issue. You should contact them, before making any contributions. enhancement New feature or request
Milestone

Comments

@SlowMo24
Copy link
Contributor

SlowMo24 commented Dec 5, 2018

Write update-package that fulfils framework set out here: https://confluence.gistools.geog.uni-heidelberg.de/display/oshdb/Update+process+framework

Missing implementations are:

Updater Package

  • implement different backends (ignite, h2 etc)
  • insert new tags into tagtranslator-db BEFORE creating new entity
    • update TagTranslator cache if new tag or role is inserted to keytables or handle dublicate insertion exception
  • account for back-references of OSHEntites (e.g. ways for nodes for changed ways and changed nodes)
    • account for back-references of backreferences of OSHEntites (e.g. relations depending on ways depending on changed nodes)
    • Relations are excluded for now, but might get important in a later update? @rtroilo
  • implement flushing of updates to real database
  • implement Kafka promoter (do we actually want this, its not hard to do but also a feature with no use-case so far)
  • collect OSHEntites before processing to avoid multiple calls to same method
    • test if this actually is an improvement
  • collect OSHEntites into insertCells before flushing to prevent multiple overwriting of the same Cell
  • resolve comments in code
  • assure concurrency (most of all, check if locking in flusher is safe)
  • optimise Code (very important last step!)
  • analyse and clean dependencies
  • extensive testing!
  • codeStyle, staticCodeAnalyses etc (resrouce handling)
  • documentation
  • correct errors introduced by 2ab2f88
    • check if functionality was preserved
  • there might be a mixup of CellId.getId() and CellId.getLevelId() in the Flusher and possibly elswhere! Should be investigated!

OSHDB-API

  • write class to append entities from update-db to stream when querying over OSHDB-API (I need help to point me to the right place where this would be implemented @tyrasd ?)
    • implement ScanQuery and LocalPeek OSHDB-API-Ignite Backends
    • move streaming of updates up do MapReducer-Class. It is only copy code now.
    • group 100 or 1'000 entities together in one 0,0 GridCell in OSHDB-API to avoid overhead of CellCreation (and calling of celliterator methods)
  • improve testData for updates to speed them up (Area to big atm)

ETL-Backend

  • implement ETLFileReaderClass (help needed from @rtroilo )

Dependencies

  • check if ignite-geospatial is actually necessary as a dependency or only needs to be available at cluster startup on the server side. If so, remove artifact from artifactory and remove dependency.
  • check if h2gis is necessary as a dependency
@SlowMo24 SlowMo24 added the enhancement New feature or request label Dec 5, 2018
@tyrasd tyrasd changed the title Updater [WIP] Updater Dec 11, 2018
@SlowMo24 SlowMo24 mentioned this issue Feb 7, 2019
6 tasks
@SlowMo24 SlowMo24 added this to the OSHDB v0.6.0 milestone Mar 7, 2019
@SlowMo24 SlowMo24 added the addressing Someone is addressing this issue. You should contact them, before making any contributions. label Jun 6, 2019
@tyrasd tyrasd added this to In progress in OSHDB-Datamodel revision Oct 29, 2019
@tyrasd tyrasd modified the milestones: release 0.6.0, release 1.0 Dec 2, 2020
@SlowMo24
Copy link
Contributor Author

😢😢😢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addressing Someone is addressing this issue. You should contact them, before making any contributions. enhancement New feature or request
Projects
Development

Successfully merging a pull request may close this issue.

5 participants