PoC Asssembly - TopCoder Competition Engine - SQS Integration

Key Information

Register
Submit
Status: ‌Cancelled zero submissions

Challenge Overview

Project Overview

TopCoder Competition Engine is a system used for Single Round Matches (SRM) and Marathon Matches (MM).

Competition Task Overview

We are in the progress to replace the direct controller-processor assignment with a collection of SQS queues. The controller and processor are no longer tightly bound and we can easily determine if we need to scale up or down based on the number of messages in the queues. In fact, the controller process is obsolete and its remaining functionality has been pulled into the app server.

The significant changes can be found in these branches:

https://github.com/cloudspokes/app/tree/james-autoscale

https://github.com/cloudspokes/arena-shared/tree/james-autoscale

https://coder.topcoder.com/internal/farm-server/branches/james-autoscale

For this challenge, we'd like to make necessary change to make the functionality work with fake sqs inside the Arena VM.  The code changes in these branches is already be working with Amazon SQS.

About fake sqs

Once the VM is setup, the fake SQS service is already up to service.

To verify it,

  1. Login as apps
  2. cd /tmp
  3. mkdir demo
  4. cd demo
  5. wget http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip
  6. unzip aws-java-sdk-1.9.4.zip
  7. cd ~
  8. mkdir .aws
  9. cp /tmp/demo/aws-java-sdk-1.9.4/samples/AmazonDynamoDB/credentials ~/.aws/
  10. make the fillowing change /tmp/demo/aws-java-sdk-1.9.4/samples/AmazonSimpleQueueService/SimpleQueueServiceSample.java line 69

  11. cd /tmp/demo/aws-java-sdk-1.9.4/samples/AmazonSimpleQueueService
  12. ant run

Needed Change

You are expected to adjust the changes so it can be working with fake sqs service instead of Amazon SQS, but please make sure code is switchable easily.

Verification

You just need to test that messages get to the queues and that they are picked up and processed.

Setup a SRM, and make sure the compilation in Arena applet is working properly.

Winner Responsibility

Winner will be responsible to create pull requests in final fix phase, and help with the merge.

About Code Base

For the code under /home/apps/dev directory, some are hosted in internal svn repositories, some are hosted in private repositories in github.

You can check Source Code Management For TopCoder Competition Engine - TopCoder Wiki

For SVN Access, please send request to support@topcoder.com, For github access, please post your github account in forum to ask PM to grant you access.

Arena VM Usage

Before asking your own VM, you need to have a public key on your profile before asking for the VM.

You can find more details on how to generate a key http://apps.topcoder.com/wiki/display/projects/Generate+SSH+Key and how to connect using it http://apps.topcoder.com/wiki/display/projects/Connect+Using+SSH+Key.

Please reference http://apps.topcoder.com/wiki/display/docs/Competition+Engine+VM+Setup for general usage.

Previously, we have made several update for the Arena VM.  So when the Arena VM allocated is available for you, there is a problem and a SRM contest already setup, you can reuse that for testing.



Final Submission Guidelines

Submission Deliverables

Below is an overview of the deliverables:

  • Code changes and Configurations to work with fake sqs in Arena VM
  • Detailed deployment guide for environment setup and functionality verification.
  • Working VM environment for verification.

Final Submission

For each member, the final submission should be uploaded to the Online Review Tool.

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30047178