Projects tigase _server tigase-http-api Issues #169
Switch to alternative AWS S3 library to limit dependencies overhead (#169)
Wojciech Kapcia (Tigase) opened 6 months ago

AWS (S3) SDK is huge cow, we should switch to smaller alternative. https://github.com/davidmoten/aws-lightweight-client-java seems like the best candidate (single binary without dependencies, <100KB).

  • change the implementation to new library
  • move the implementation from tigase-extras-aws directly to http-api and remove extras module
  • adjust server-distribution aseembly descriptors/dependencies
  • Wojciech Kapcia (Tigase) added "Related" tigase-private/tigase-licenceserver#66 6 months ago
  • Wojciech Kapcia (Tigase) added to iteration "tigase-server-8.5.0" 6 months ago
  • Wojciech Kapcia (Tigase) removed from iteration "Candidate for next minor release" 6 months ago
  • Wojciech Kapcia (Tigase) changed fields 6 months ago
    Name Previous Value Current Value
    Assignee
    wojtek
    andrzej.wojcik
  • Wojciech Kapcia (Tigase) changed fields 6 months ago
    Name Previous Value Current Value
    Version
    empty
    2.5.0
  • Wojciech Kapcia (Tigase) commented 6 months ago

    Slating for tigase-server-8.5 as per comment:

    I wouldn’t complain if we could have that in 8.5.0.

  • Andrzej Wójcik (Tigase) changed state to 'In Progress' 1 week ago
    Previous Value Current Value
    Open
    In Progress
  • Andrzej Wójcik (Tigase) commented 1 week ago

    I've reimplemented S3 support (replaced usage of AWS library), moved S3 store implementation to HTTP API component, and got rid of tigase-extras-aws module. I've also updated dependencies in distribution module (please review this change).

    I've noted that tigase-extras-aws was also used to provide support for cloudwatch, so please review if it's removal is correct.

    The new implementation was tested manually and I've added test case that uses TestContainers (if docker is available) to validate implementation behavior.

  • Andrzej Wójcik (Tigase) changed state to 'In QA' 1 week ago
    Name Previous Value Current Value
    State
    In Progress
    In QA
    Assignee
    andrzej.wojcik
    wojtek
  • Wojciech Kapcia (Tigase) commented 6 days ago

    I've reimplemented S3 support (replaced usage of AWS library), moved S3 store implementation to HTTP API component, and got rid of tigase-extras-aws module. I've also updated dependencies in distribution module (please review this change).

    Looks OK.

    I removed the dependencies from dist package.

    Should we keep log.info entries (in servlet/deployment info)? Or those are remnants from other issue/debugging? They could be helpful but maybe with log.fine or somesuch?

    I've noted that tigase-extras-aws was also used to provide support for cloudwatch, so please review if it's removal is correct.

    I think it's OK. I'd guess usage was low and even we dropped it because it wasn't efficient from cost point of view (and it's possible to configure logback to achieve the same in more performant way)

    The new implementation was tested manually and I've added test case that uses TestContainers (if docker is available) to validate implementation behavior.

    Great call for using testcontainers!

  • Wojciech Kapcia (Tigase) changed state to 'Closed' 6 days ago
    Previous Value Current Value
    In QA
    Closed
  • Andrzej Wójcik (Tigase) commented 6 days ago

    Should we keep log.info entries (in servlet/deployment info)? Or those are remnants from other issue/debugging? They could be helpful but maybe with log.fine or somesuch?

    We can use log.fine, I recall I encountered log.info so I've left them (or maybe merge restored them?).

  • Wojciech Kapcia (Tigase) commented 6 days ago

    It's during init so info may be OK in the end.

issue 1 of 1
Type
Task
Priority
Normal
Assignee
Version
2.5.0
Sprints
n/a
Customer
n/a
Iterations
Issue Votes (0)
Watchers (3)
Reference
tigase/_server/tigase-http-api#169
Please wait...
Page is in error, reload to recover