Fix hypothetical bug when querying for packages in bulk. We were assuming all packages were successful.

Also add Preconditions check to ensure we get the expected Package response when retrieving packages in bulk when we know the set of Package identifiers correspond to valid packages.

--
MOS_MIGRATED_REVID=116580093
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
index 65a737e..46bd0c2 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
@@ -20,6 +20,7 @@
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.cmdline.PackageIdentifier;
 import com.google.devtools.build.lib.cmdline.RepositoryName;
@@ -147,6 +148,10 @@
           throws TargetParsingException, InterruptedException {
     try {
       Map<PackageIdentifier, Package> pkgs = bulkGetPackages(pkgIds);
+      if (pkgs.size() != Iterables.size(pkgIds)) {
+        throw new IllegalStateException("Bulk package retrieval missing results: "
+            + Sets.difference(ImmutableSet.copyOf(pkgIds), pkgs.keySet()));
+      }
       ImmutableMap.Builder<PackageIdentifier, ResolvedTargets<Target>> result =
               ImmutableMap.builder();
       for (PackageIdentifier pkgId : pkgIds) {
@@ -157,7 +162,8 @@
     } catch (NoSuchThingException e) {
       String message = TargetPatternResolverUtil.getParsingErrorMessage(
               e.getMessage(), originalPattern);
-      throw new TargetParsingException(message, e);
+      throw new IllegalStateException(
+          "Mismatch: Expected given pkgIds to correspond to valid Packages. " + message, e);
     }
   }