Руководство для начинающих по работе с Apache Cassandra
Начните участвовать в проекте базы данных с открытым исходным кодом, который используется для обеспечения работы интернет-сервисов по всему миру.
Apache Cassandra — это база данных NoSQL с открытым исходным кодом, которой доверяют тысячи компаний по всему миру благодаря ее масштабируемости и высокой доступности, не ставящей под угрозу производительность. Внесение вклада в столь широко используемую распределенную систему может показаться сложной задачей, поэтому цель этой статьи — предоставить вам легкую точку входа.
Есть веские причины внести свой вклад в Cassandra, например:
- Получение признания от Apache Software Foundation (ASF) в качестве участника.
- Содействие проекту с открытым исходным кодом, используемому миллионами людей по всему миру, который обеспечивает интернет-услуги для таких компаний, как American Express, Bloomberg, Netflix, Yelp и других.
- Быть частью сообщества, добавляющего новые функции и опирающегося на выпуск Cassandra 4.0, самого стабильного в истории проекта.
С чего начать
Apache Cassandra — это большой проект, а это значит, что вы найдете что-то в своем наборе навыков, чтобы внести свой вклад. Каждый вклад, каким бы маленьким он ни был, имеет значение и высоко ценится. Отличным началом является руководство по началу работы.
Проект Apache Cassandra также участвует в Google Summer of Code. Чтобы получить представление о том, что происходит, прочтите сообщение в блоге члена PMC Паоло Мотты.
Выбирайте, над чем работать
Отправленные исправления могут включать исправления ошибок, изменения в кодовой базе Java, улучшения инструментов (Java или Python), документацию, тестирование или любые другие изменения в кодовой базе. Хотя процесс добавления кода всегда один и тот же, объем работы и время, необходимые для принятия исправления, зависят от типа проблемы, которую вы решаете.
Обзор патчей других людей всегда приветствуется. Чтобы узнать больше, прочтите Контрольный список проверки. Если вы являетесь пользователем Cassandra и можете помочь, ответив на некоторые вопросы в списке пользователей, это станет отличным вкладом.
Самый простой способ найти билет для работы — выполнить поиск в Jira Кассандры проблем, помеченных как «Легко висящие плоды». Мы используем этот ярлык, чтобы отмечать проблемы, которые являются хорошими стартовыми задачами для новичков. Если у вас нет входа в Jira ASF, вам необходимо зарегистрироваться.
Вот несколько простых способов начать участвовать:
- Тестирование. Изучив Cassandra, вы сможете добавлять или улучшать тесты, например CASSANDRA-16191. Вы можете узнать больше о платформе тестирования Cassandra на нашей странице тестирования. Всегда приветствуются дополнительное тестирование, а также ошибки или предложения по улучшениям, о которых сообщает Jira.
- Документация. Это не всегда легко висит, но это очень важно. Вот образец билета: КАССАНДРА-16122. Дополнительную информацию о внесении вклада в документацию Cassandra можно найти на нашей странице Работа над документацией.
- Исследовать или исправлять обнаруженные ошибки: Вот пример: CASSANDRA-16151.
- Отвечайте на вопросы. Подпишитесь на список рассылки пользователей, ищите вопросы, на которые вы знаете ответы, и помогайте другим, отвечая. Подробную информацию о том, как подписаться на список рассылки, можно найти на странице сообщества.
Это всего лишь четыре способа начать помогать проекту. Если вы хотите узнать больше о распределенных системах и внести свой вклад другими способами, ознакомьтесь с документацией.
Что вам нужно для внесения кода
Чтобы внести свой вклад в код, вам понадобится:
- Java SDK
- Апач Муравей
- Гит
- Питон
Получите код и протестируйте
Получите код с помощью Git, поработайте над темой, используйте предпочитаемую вами среду IDE и следуйте стилю кодирования Cassandra. Вы можете узнать больше на нашей странице «Создание и интеграция IDE».
$ git clone https://git-wip-us.apache.org/repos/asf/cassandra.git cassandra-trunk
Многие участники называют свои филиалы на основе номера заявки и версии Cassandra. Например:
$ git checkout -b CASSANDRA-XXXX-V.V
$ ant
Проверьте среду:
$ ant test
Тестирование распределенной базы данных
Когда вы закончите, убедитесь, что все тесты (включая ваши собственные) прошли с помощью Ant, как описано в разделе «Тестирование». Если вы подозреваете, что сбой теста не связан с вашим изменением, может быть полезно проверить статус теста, выполнив поиск в системе отслеживания проблем или просмотрев результаты CI для соответствующей исходной версии.
Полные наборы тестов занимают много часов, поэтому перед загрузкой патча обычно выполняются локальные тесты. После загрузки исправления рецензент или коммиттер может помочь настроить задания CI для запуска полных наборов тестов.
Дополнительные ресурсы по тестированию Cassandra включают:
- Репозиторий распределенных тестов Cassandra. Информацию о настройке и предварительные требования можно найти в файле README.
- Менеджер кластера Cassandra README
- Отличный пост в блоге сообщества о подходах к тестированию Cassandra 4.0.
- Harry, инструмент нечеткого тестирования для Apache Cassandra.
Отправка вашего патча
Прежде чем отправлять исправление, убедитесь, что вы соблюдаете правила стиля кода Cassandra. Самый простой способ отправить свой патч — это создать форк репозитория Cassandra на GitHub и опубликовать свою ветку:
$ git push --set-upstream origin CASSANDRA-XXXX-V.V
Отправьте свой патч, опубликовав ссылку на вновь созданную ветку в своем билете Jira. Используйте кнопку Отправить исправление.
Чтобы узнать больше, прочтите полную документацию «Вклад в Cassandra». Если у вас все еще есть вопросы, свяжитесь с сообществом разработчиков.
Автор хочет поблагодарить сообщество Apache Cassandra за неустанный вклад в проект, преданность пользователям проекта и постоянные усилия по улучшению процесса привлечения новых участников.
Вклад и преданность многих людей проекту и сообществу Apache Cassandra позволили нам достичь версии 4.0 — важной вехи. Заглядывая в будущее и стремясь поощрять новых участников, мы хотим отметить усилия каждого с момента его создания более 12 лет назад. Без вашей помощи это было бы невозможно. Спасибо!