2017-01-30 1 views
0

Вчера мы изменили правила одного из наших проектов на Sonar 5.6.1, и с тех пор анализ не работает с ошибкой ниже ,Sonar 5.6.1 - java.lang.IllegalArgumentException: значение слишком длинное для входа в систему автора авторефератов:

Stack: 
java.lang.IllegalArgumentException: Value is too long for issue author login: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:148) ~[guava-17.0.jar:na] 
    at org.sonar.db.issue.IssueDto.setAuthorLogin(IssueDto.java:353) ~[sonar-db-5.6.1.jar:na] 
    at org.sonar.db.issue.IssueDto.toDtoForComputationInsert(IssueDto.java:129) ~[sonar-db-5.6.1.jar:na] 
    at org.sonar.server.computation.step.PersistIssuesStep.execute(PersistIssuesStep.java:69) ~[sonar-server-5.6.1.jar:na] 
    at org.sonar.server.computation.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:64) ~[sonar-server-5.6.1.jar:na] 
    at org.sonar.server.computation.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:52) ~[sonar-server-5.6.1.jar:na] 
    at org.sonar.server.computation.taskprocessor.report.ReportTaskProcessor.process(ReportTaskProcessor.java:75) ~[sonar-server-5.6.1.jar:na] 
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.executeTask(CeWorkerCallableImpl.java:81) [sonar-server-5.6.1.jar:na] 
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.call(CeWorkerCallableImpl.java:56) [sonar-server-5.6.1.jar:na] 
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.call(CeWorkerCallableImpl.java:35) [sonar-server-5.6.1.jar:na] 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101] 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101] 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101] 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_101] 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_101] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101] 
2017.01.30 16:42:28 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Executed task | project=sgl | type=REPORT | id=AVnwr0Dz3syUbWgWOt8O | submitter=jenkins | time=13516ms 

сообщение прав ... из-за ошибки конфигурации, пользователь совершил несколько ревизий с гигантским логином (300 +) ... мы не можем изменить ревизии (они были уже толкали, и давно)

1 - Что мы можем сделать, чтобы остановить эту ошибку на гидролокаторе?

2 - Почему эта ошибка появилась только после того, как мы изменили правила? (я думаю, что это было потому, что старые правила не генерируются не вопроса о файлах ревизий с гигантским логином ...)

ответ

4
  1. Вы можете update the author of the commit. Да, для других разработчиков есть последствия для того, как они получают нового ведущего мастера. GitHub has a good script на этом. С другой стороны, вы могли бы (менее чистые решения):
    • обновить строки, сообщающие о проблеме и совершении. Вы сказали, что это была ошибка, чтобы иметь такой длинный Войти
    • удалить файл, коммит затем заново создать файл с новым совершить
    • exclude the file or issue из анализа SonarQube
    • деактивировать информацию SCM. Посмотрите на SCM > Disable the SCM Sensor
    • в зависимости от правила вы можете настроить его, чтобы исключить некоторые образцы файлов
    • ждать this ticket быть исправлено:)
  2. Вы правы, у вас не было никаких проблем, связанных с это фиксация, поэтому она не сработала раньше.
+0

Как хранилище позволяет «большой Логин» сонар должен принять его (вероятно, «кадрировать 255») вместо того, чтобы бросать ошибку ... Исключите файл или обновить автор фиксации или подтвердить каждый файл не кажется разумным вариантом ... поскольку у них есть много побочных эффектов os ... Похоже, что продолжить использование сонара в этом проекте невозможно ... –

+0

Есть ли способ сделать сонар не получить информация об авторе от te commit? –

+0

новые решения добавлены –