You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							63 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							63 lines
						
					
					
						
							1.7 KiB
						
					
					
				| #!/bin/bash | |
| # Verify schema format distribution across topics | |
| 
 | |
| set -e | |
| 
 | |
| SCHEMA_REGISTRY_URL="${SCHEMA_REGISTRY_URL:-http://localhost:8081}" | |
| TOPIC_PREFIX="${TOPIC_PREFIX:-loadtest-topic}" | |
| TOPIC_COUNT="${TOPIC_COUNT:-5}" | |
| 
 | |
| echo "================================" | |
| echo "Schema Format Verification" | |
| echo "================================" | |
| echo "" | |
| echo "Schema Registry: $SCHEMA_REGISTRY_URL" | |
| echo "Topic Prefix: $TOPIC_PREFIX" | |
| echo "Topic Count: $TOPIC_COUNT" | |
| echo "" | |
| 
 | |
| echo "Registered Schemas:" | |
| echo "-------------------" | |
| 
 | |
| for i in $(seq 0 $((TOPIC_COUNT-1))); do | |
|     topic="${TOPIC_PREFIX}-${i}" | |
|     subject="${topic}-value" | |
|      | |
|     echo -n "Topic $i ($topic): " | |
|      | |
|     # Try to get schema | |
|     response=$(curl -s "${SCHEMA_REGISTRY_URL}/subjects/${subject}/versions/latest" 2>/dev/null || echo '{"error":"not found"}') | |
|      | |
|     if echo "$response" | grep -q "error"; then | |
|         echo "❌ NOT REGISTERED" | |
|     else | |
|         schema_type=$(echo "$response" | grep -o '"schemaType":"[^"]*"' | cut -d'"' -f4) | |
|         schema_id=$(echo "$response" | grep -o '"id":[0-9]*' | cut -d':' -f2) | |
|          | |
|         if [ -z "$schema_type" ]; then | |
|             schema_type="AVRO"  # Default if not specified | |
|         fi | |
|          | |
|         # Expected format based on index | |
|         if [ $((i % 2)) -eq 0 ]; then | |
|             expected="AVRO" | |
|         else | |
|             expected="JSON" | |
|         fi | |
|          | |
|         if [ "$schema_type" = "$expected" ]; then | |
|             echo "✅ $schema_type (ID: $schema_id) - matches expected" | |
|         else | |
|             echo "⚠️  $schema_type (ID: $schema_id) - expected $expected" | |
|         fi | |
|     fi | |
| done | |
| 
 | |
| echo "" | |
| echo "Expected Distribution:" | |
| echo "----------------------" | |
| echo "Even indices (0, 2, 4, ...): AVRO" | |
| echo "Odd indices  (1, 3, 5, ...): JSON" | |
| echo "" | |
| 
 | |
| 
 |