microsoftgraph / microsoftgraph/msgraph-sdk-java

"java.lang.IllegalArgumentException: Collection is empty" when calling `lastEstimateStatisticsOperation`

Offen
#2,656 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

status:waiting-for-triage type:bug
Vorherrschende Sprache
Java
Sterne
444
Forks
154
Ø Merge
18 Std. 28 Min.
Gemergte PRs (30 T.)
4

Beschreibung

Describe the bug

I'm fetching Search estimate statistics in Purview using the following call:

EdiscoveryEstimateOperation estimateOperation = client.security()
                .cases()
                .ediscoveryCases()
                .byEdiscoveryCaseId(caseId)
                .searches()
                .byEdiscoverySearchId(searchId)
                .lastEstimateStatisticsOperation()
                .get();

This consistently fails with the following error:

java.lang.IllegalArgumentException: Collection is empty
    at java.base/java.util.EnumSet.copyOf(EnumSet.java:177)
    at com.microsoft.kiota.serialization.JsonParseNode.getEnumSetValue(JsonParseNode.java:257)
    at com.microsoft.graph.beta.models.security.EdiscoveryEstimateOperation.lambda$getFieldDeserializers$6(EdiscoveryEstimateOperation.java:41)
    at com.microsoft.kiota.serialization.JsonParseNode.assignFieldValues(JsonParseNode.java:280)
    at com.microsoft.kiota.serialization.JsonParseNode.getObjectValue(JsonParseNode.java:192)
    at com.microsoft.kiota.http.OkHttpRequestAdapter.send(OkHttpRequestAdapter.java:322)
    at com.microsoft.graph.beta.security.cases.ediscoverycases.item.searches.item.lastestimatestatisticsoperation.LastEstimateStatisticsOperationRequestBuilder.get(LastEstimateStatisticsOperationRequestBuilder.java:61)
    at com.microsoft.graph.beta.security.cases.ediscoverycases.item.searches.item.lastestimatestatisticsoperation.LastEstimateStatisticsOperationRequestBuilder.get(LastEstimateStatisticsOperationRequestBuilder.java:47)

It seems like response deserialization isn't working correctly, probably for the statisticsOptions field? It might be relevant that there doesn't seem to be any way to specify statisticsOptions when triggering statistics generation through the API.

Expected behavior

I expect this SDK call to successfully return an EdiscoveryEstimateOperation for the given search.

How to reproduce

I'm starting statistics generation with the following call:

client.security()
                .cases()
                .ediscoveryCases()
                .byEdiscoveryCaseId(caseId)
                .searches()
                .byEdiscoverySearchId(searchId)
                .microsoftGraphSecurityEstimateStatistics()
                .post();

Fetching statistics with the call listed above then triggers the bug.

SDK Version

beta 6.61.0

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output
Click to expand log ```
</details>


### Configuration

_No response_

### Other information

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem generierten Deserialisierer EdiscoveryEstimateOperation in EdiscoveryEstimateOperation.java:41 und verfolge JsonParseNode.getEnumSetValue, wobei du die gemeldete lastEstimateStatisticsOperation request als Reproduktion verwendest. Vergleiche die Verarbeitung der Antwort für statisticsOptions mit der API response und füge einen fokussierten Deserialisierungstest hinzu oder aktualisiere ihn, falls das Repository einen solchen bereitstellt. Erledigt ist die Aufgabe, wenn der Aufruf ein EdiscoveryEstimateOperation ohne die Ausnahme für eine leere Sammlung zurückgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.